forked from EvergreenCrypto/docker-finance
Merge pull request #171 into master
ed44f1dREADME: remove funding from donations section (Aaron Fiore)b782b3cREADME: clarify crypto trading in highlights (Aaron Fiore)a5f39dcREADME: shrink screenshot thumbnail sizes (Aaron Fiore)2c4b5baREADME: fix (reorder) 'dev-tools' build instructions (Aaron Fiore)
This commit is contained in:
58
README.md
58
README.md
@@ -1,7 +1,7 @@
|
||||
|
||||
[//]: # (docker-finance | modern accounting for the power-user)
|
||||
[//]: # ()
|
||||
[//]: # (Copyright [C] 2021-2024 Aaron Fiore [Founder, Evergreen Crypto LLC])
|
||||
[//]: # (Copyright [C] 2021-2025 Aaron Fiore [Founder, Evergreen Crypto LLC])
|
||||
[//]: # ()
|
||||
[//]: # (This program is free software: you can redistribute it and/or modify)
|
||||
[//]: # (it under the terms of the GNU General Public License as published by)
|
||||
@@ -70,7 +70,7 @@ Cryptocurrencies & blockchain metadata are unified with legacy finance to create
|
||||
- [Report generation](#reports) & [tax preparation](#taxes)
|
||||
- Cryptocurrency income from interest and staking
|
||||
- Cryptocurrency spending and network fees
|
||||
- Capital gains/losses across all accounts
|
||||
- Cryptocurrency trading across CeFi & DeFi
|
||||
- Income statements, balance sheets and more
|
||||
- [Automated data procurement & aggregation into meaningful journals](#fetch)
|
||||
- Use network APIs to [`fetch`](#fetch) account CSV data or market prices
|
||||
@@ -89,19 +89,21 @@ Cryptocurrencies & blockchain metadata are unified with legacy finance to create
|
||||
|
||||
### Screenshots
|
||||
|
||||
[//]: # (TODO: update screenshots, reduce number of screenshots)
|
||||
|
||||
#### Client (Host)
|
||||
|
||||
The *docker* in `docker-finance`.
|
||||
|
||||
##### *image: docker-finance*
|
||||
##### *image: finance (docker-finance)*
|
||||
|
||||
[<img src=".img/examples/client_00.png" width="239px" height="239px" />](.img/examples/client_00.png "") [<img src=".img/examples/client_01.png" width="239px" height="239px" />](.img/examples/client_01.png "") [<img src=".img/examples/client_02.png" width="239px" height="239px" />](.img/examples/client_02.png "") [<img src=".img/examples/client_03.png" width="239px" height="239px" />](.img/examples/client_03.png "") [<img src=".img/examples/client_04.png" width="239px" height="239px" />](.img/examples/client_04.png "")
|
||||
[<img src=".img/examples/client_00.png" width="175px" height="175px" />](.img/examples/client_00.png "") [<img src=".img/examples/client_01.png" width="175px" height="175px" />](.img/examples/client_01.png "") [<img src=".img/examples/client_02.png" width="175px" height="175px" />](.img/examples/client_02.png "") [<img src=".img/examples/client_03.png" width="175px" height="175px" />](.img/examples/client_03.png "") [<img src=".img/examples/client_04.png" width="175px" height="175px" />](.img/examples/client_04.png "")
|
||||
|
||||
##### *image: dev-tools*
|
||||
|
||||
[<img src=".img/examples/client_dev-tools_00.png" width="239px" height="239px" />](.img/examples/client_dev-tools_00.png "") [<img src=".img/examples/client_dev-tools_01.png" width="239px" height="239px" />](.img/examples/client_dev-tools_01.png "") [<img src=".img/examples/client_dev-tools_02.png" width="239px" height="239px" />](.img/examples/client_dev-tools_02.png "") [<img src=".img/examples/client_dev-tools_03.png" width="239px" height="239px" />](.img/examples/client_dev-tools_03.png "") [<img src=".img/examples/client_dev-tools_04.png" width="239px" height="239px" />](.img/examples/client_dev-tools_04.png "")
|
||||
[<img src=".img/examples/client_dev-tools_00.png" width="175px" height="175px" />](.img/examples/client_dev-tools_00.png "") [<img src=".img/examples/client_dev-tools_01.png" width="175px" height="175px" />](.img/examples/client_dev-tools_01.png "") [<img src=".img/examples/client_dev-tools_02.png" width="175px" height="175px" />](.img/examples/client_dev-tools_02.png "") [<img src=".img/examples/client_dev-tools_03.png" width="175px" height="175px" />](.img/examples/client_dev-tools_03.png "") [<img src=".img/examples/client_dev-tools_04.png" width="175px" height="175px" />](.img/examples/client_dev-tools_04.png "")
|
||||
|
||||
[<img src=".img/examples/client_dev-tools_05.png" width="239px" height="239px" />](.img/examples/client_dev-tools_05.png "") [<img src=".img/examples/client_dev-tools_06.png" width="239px" height="239px" />](.img/examples/client_dev-tools_06.png "") [<img src=".img/examples/client_dev-tools_07.png" width="239px" height="239px" />](.img/examples/client_dev-tools_07.png "") [<img src=".img/examples/client_dev-tools_08.png" width="239px" height="239px" />](.img/examples/client_dev-tools_08.png "") [<img src=".img/examples/client_dev-tools_09.png" width="239px" height="239px" />](.img/examples/client_dev-tools_09.png "")
|
||||
[<img src=".img/examples/client_dev-tools_05.png" width="175px" height="175px" />](.img/examples/client_dev-tools_05.png "") [<img src=".img/examples/client_dev-tools_06.png" width="175px" height="175px" />](.img/examples/client_dev-tools_06.png "") [<img src=".img/examples/client_dev-tools_07.png" width="175px" height="175px" />](.img/examples/client_dev-tools_07.png "") [<img src=".img/examples/client_dev-tools_08.png" width="175px" height="175px" />](.img/examples/client_dev-tools_08.png "") [<img src=".img/examples/client_dev-tools_09.png" width="175px" height="175px" />](.img/examples/client_dev-tools_09.png "")
|
||||
|
||||
#### Container
|
||||
|
||||
@@ -109,33 +111,33 @@ The *finance* in `docker-finance`.
|
||||
|
||||
##### *Fetch*
|
||||
|
||||
[<img src=".img/examples/fetch_00.png" width="239px" height="239px" />](.img/examples/fetch_00.png "") [<img src=".img/examples/fetch_01.png" width="239px" height="239px" />](.img/examples/fetch_01.png "") [<img src=".img/examples/fetch_02.png" width="239px" height="239px" />](.img/examples/fetch_02.png "") [<img src=".img/examples/fetch_03.png" width="239px" height="239px" />](.img/examples/fetch_03.png "") [<img src=".img/examples/fetch_04.png" width="239px" height="239px" />](.img/examples/fetch_04.png "")
|
||||
[<img src=".img/examples/fetch_00.png" width="175px" height="175px" />](.img/examples/fetch_00.png "") [<img src=".img/examples/fetch_01.png" width="175px" height="175px" />](.img/examples/fetch_01.png "") [<img src=".img/examples/fetch_02.png" width="175px" height="175px" />](.img/examples/fetch_02.png "") [<img src=".img/examples/fetch_03.png" width="175px" height="175px" />](.img/examples/fetch_03.png "") [<img src=".img/examples/fetch_04.png" width="175px" height="175px" />](.img/examples/fetch_04.png "")
|
||||
|
||||
##### *Ledger (command)*
|
||||
|
||||
[<img src=".img/examples/ledger_00.png" width="239px" height="239px" />](.img/examples/ledger_00.png "") [<img src=".img/examples/ledger_01.png" width="239px" height="239px" />](.img/examples/ledger_01.png "") [<img src=".img/examples/ledger_02.png" width="239px" height="239px" />](.img/examples/ledger_02.png "") [<img src=".img/examples/ledger_03.png" width="239px" height="239px" />](.img/examples/ledger_03.png "") [<img src=".img/examples/ledger_04.png" width="239px" height="239px" />](.img/examples/ledger_04.png "")
|
||||
[<img src=".img/examples/ledger_00.png" width="175px" height="175px" />](.img/examples/ledger_00.png "") [<img src=".img/examples/ledger_01.png" width="175px" height="175px" />](.img/examples/ledger_01.png "") [<img src=".img/examples/ledger_02.png" width="175px" height="175px" />](.img/examples/ledger_02.png "") [<img src=".img/examples/ledger_03.png" width="175px" height="175px" />](.img/examples/ledger_03.png "") [<img src=".img/examples/ledger_04.png" width="175px" height="175px" />](.img/examples/ledger_04.png "")
|
||||
|
||||
##### *Meta (w/ ROOT C++ analysis)*
|
||||
|
||||
[<img src=".img/examples/meta_00.png" width="239px" height="239px" />](.img/examples/meta_00.png "") [<img src=".img/examples/meta_01.png" width="239px" height="239px" />](.img/examples/meta_01.png "") [<img src=".img/examples/meta_02.png" width="239px" height="239px" />](.img/examples/meta_02.png "") [<img src=".img/examples/meta_03.png" width="239px" height="239px" />](.img/examples/meta_03.png "") [<img src=".img/examples/meta_04.png" width="239px" height="239px" />](.img/examples/meta_04.png "")
|
||||
[<img src=".img/examples/meta_00.png" width="175px" height="175px" />](.img/examples/meta_00.png "") [<img src=".img/examples/meta_01.png" width="175px" height="175px" />](.img/examples/meta_01.png "") [<img src=".img/examples/meta_02.png" width="175px" height="175px" />](.img/examples/meta_02.png "") [<img src=".img/examples/meta_03.png" width="175px" height="175px" />](.img/examples/meta_03.png "") [<img src=".img/examples/meta_04.png" width="175px" height="175px" />](.img/examples/meta_04.png "")
|
||||
|
||||
##### *ROOT (CLI w/ C++ API)*
|
||||
|
||||
[<img src=".img/examples/root_00.png" width="239px" height="239px" />](.img/examples/root_00.png "") [<img src=".img/examples/root_01.png" width="239px" height="239px" />](.img/examples/root_01.png "") [<img src=".img/examples/root_02.png" width="239px" height="239px" />](.img/examples/root_02.png "") [<img src=".img/examples/root_03.png" width="239px" height="239px" />](.img/examples/root_03.png "") [<img src=".img/examples/root_04.png" width="239px" height="239px" />](.img/examples/root_04.png "")
|
||||
[<img src=".img/examples/root_00.png" width="175px" height="175px" />](.img/examples/root_00.png "") [<img src=".img/examples/root_01.png" width="175px" height="175px" />](.img/examples/root_01.png "") [<img src=".img/examples/root_02.png" width="175px" height="175px" />](.img/examples/root_02.png "") [<img src=".img/examples/root_03.png" width="175px" height="175px" />](.img/examples/root_03.png "") [<img src=".img/examples/root_04.png" width="175px" height="175px" />](.img/examples/root_04.png "")
|
||||
|
||||
##### *Taxes*
|
||||
|
||||
[<img src=".img/examples/taxes_00.png" width="239px" height="239px" />](.img/examples/taxes_00.png "") [<img src=".img/examples/taxes_01.png" width="239px" height="239px" />](.img/examples/taxes_01.png "") [<img src=".img/examples/taxes_02.png" width="239px" height="239px" />](.img/examples/taxes_02.png "") [<img src=".img/examples/taxes_03.png" width="239px" height="239px" />](.img/examples/taxes_03.png "") [<img src=".img/examples/taxes_04.png" width="239px" height="239px" />](.img/examples/taxes_04.png "")
|
||||
[<img src=".img/examples/taxes_00.png" width="175px" height="175px" />](.img/examples/taxes_00.png "") [<img src=".img/examples/taxes_01.png" width="175px" height="175px" />](.img/examples/taxes_01.png "") [<img src=".img/examples/taxes_02.png" width="175px" height="175px" />](.img/examples/taxes_02.png "") [<img src=".img/examples/taxes_03.png" width="175px" height="175px" />](.img/examples/taxes_03.png "") [<img src=".img/examples/taxes_04.png" width="175px" height="175px" />](.img/examples/taxes_04.png "")
|
||||
|
||||
##### *Reports*
|
||||
|
||||
[<img src=".img/examples/reports_00.png" width="239px" height="239px" />](.img/examples/reports_00.png "") [<img src=".img/examples/reports_01.png" width="239px" height="239px" />](.img/examples/reports_01.png "") [<img src=".img/examples/reports_02.png" width="239px" height="239px" />](.img/examples/reports_02.png "") [<img src=".img/examples/reports_03.png" width="239px" height="239px" />](.img/examples/reports_03.png "") [<img src=".img/examples/reports_04.png" width="239px" height="239px" />](.img/examples/reports_04.png "")
|
||||
[<img src=".img/examples/reports_00.png" width="175px" height="175px" />](.img/examples/reports_00.png "") [<img src=".img/examples/reports_01.png" width="175px" height="175px" />](.img/examples/reports_01.png "") [<img src=".img/examples/reports_02.png" width="175px" height="175px" />](.img/examples/reports_02.png "") [<img src=".img/examples/reports_03.png" width="175px" height="175px" />](.img/examples/reports_03.png "") [<img src=".img/examples/reports_04.png" width="175px" height="175px" />](.img/examples/reports_04.png "")
|
||||
|
||||
##### *Help (suite of commands)*
|
||||
|
||||
[<img src=".img/examples/container_help_00.png" width="239px" height="239px" />](.img/examples/container_help_00.png "") [<img src=".img/examples/container_help_01.png" width="239px" height="239px" />](.img/examples/container_help_01.png "") [<img src=".img/examples/container_help_02.png" width="239px" height="239px" />](.img/examples/container_help_02.png "") [<img src=".img/examples/container_help_03.png" width="239px" height="239px" />](.img/examples/container_help_03.png "") [<img src=".img/examples/container_help_04.png" width="239px" height="239px" />](.img/examples/container_help_04.png "")
|
||||
[<img src=".img/examples/container_help_00.png" width="175px" height="175px" />](.img/examples/container_help_00.png "") [<img src=".img/examples/container_help_01.png" width="175px" height="175px" />](.img/examples/container_help_01.png "") [<img src=".img/examples/container_help_02.png" width="175px" height="175px" />](.img/examples/container_help_02.png "") [<img src=".img/examples/container_help_03.png" width="175px" height="175px" />](.img/examples/container_help_03.png "") [<img src=".img/examples/container_help_04.png" width="175px" height="175px" />](.img/examples/container_help_04.png "")
|
||||
|
||||
[<img src=".img/examples/container_help_05.png" width="239px" height="239px" />](.img/examples/container_help_05.png "") [<img src=".img/examples/container_help_06.png" width="239px" height="239px" />](.img/examples/container_help_06.png "") [<img src=".img/examples/container_help_07.png" width="239px" height="239px" />](.img/examples/container_help_07.png "") [<img src=".img/examples/container_help_08.png" width="239px" height="239px" />](.img/examples/container_help_08.png "") [<img src=".img/examples/container_help_09.png" width="239px" height="239px" />](.img/examples/container_help_09.png "")
|
||||
[<img src=".img/examples/container_help_05.png" width="175px" height="175px" />](.img/examples/container_help_05.png "") [<img src=".img/examples/container_help_06.png" width="175px" height="175px" />](.img/examples/container_help_06.png "") [<img src=".img/examples/container_help_07.png" width="175px" height="175px" />](.img/examples/container_help_07.png "") [<img src=".img/examples/container_help_08.png" width="175px" height="175px" />](.img/examples/container_help_08.png "") [<img src=".img/examples/container_help_09.png" width="175px" height="175px" />](.img/examples/container_help_09.png "")
|
||||
|
||||
## What is supported?
|
||||
|
||||
@@ -350,7 +352,7 @@ Supported blockchains (independent of wallet type):
|
||||
|
||||
10. (Optional) **Developers: on your client (host), build and setup the `dev-tools` platform**:
|
||||
```bash
|
||||
dfi dev-tools/${USER}:default build type=default && dfi dev-tools/${USER}:default gen all=all
|
||||
dfi dev-tools/${USER}:default gen all=all && dfi dev-tools/${USER}:default build type=default
|
||||
```
|
||||
|
||||
### Environment Generation
|
||||
@@ -860,31 +862,7 @@ Example, using your #2 Trezor T device and one of its BTC "storage" wallets:
|
||||
|
||||
Your input is valuable and appreciated. Come, make this project your own!
|
||||
|
||||
#### Funding
|
||||
|
||||
→ **100% of your donations go to the `docker-finance` funding pool.** ←
|
||||
|
||||
> This pool is reserved for the `docker-finance` ecosystem (developers & operating costs).
|
||||
|
||||
##### *Cryptocurrency*
|
||||
|
||||
[Donate with Coinbase Commerce](https://commerce.coinbase.com/checkout/8831f2a9-1797-4aff-8cc3-bdbf97136a97)
|
||||
|
||||
[<img src=".img/donation/coinbase-commerce.png" width="25%" height="25%" />](https://commerce.coinbase.com/checkout/8831f2a9-1797-4aff-8cc3-bdbf97136a97 "Donate with Coinbase Commerce")
|
||||
|
||||
##### *Legacy*
|
||||
|
||||
[Donate with PayPal](https://www.paypal.com/donate/?hosted_button_id=2RESHZY8U37EJ)
|
||||
|
||||
[<img src=".img/donation/paypal-business.png" width="25%" height="25%" />](https://www.paypal.com/donate/?hosted_button_id=2RESHZY8U37EJ "Donate with PayPal")
|
||||
|
||||
##### *Alternative*
|
||||
|
||||
For alternative donation methods, including your crypto/token of choice, please open a request in the [issue tracker](https://gitea.com/EvergreenCrypto/docker-finance/issues) or reach out to [Evergreen Crypto LLC](#evergreen-crypto-llc).
|
||||
|
||||
---
|
||||
|
||||
##### *Dependencies*
|
||||
#### Dependencies
|
||||
|
||||
To donate to the wonderful projects that `docker-finance` gratefully depends upon, please donate to them directly:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user