CoinWalletOverview
Overview
CoinWalletOverview (CWO) is a program which runs in a command-line. It displays graphs of price histories for selected cryptocurrencies tied to registered crypto-wallets. It also updates the estimated value for your coins in a currency of your choice.
Used Libraries, Third-Party and Language
- Language: C++
- Tools:
- Ninja
- CMake
- Libraries and Third-Party:
- NCurses
- Curl
- SQLite3
- https://github.com/nlohmann/json
- Now powered by Coingecko-API (awesome service)
- Blockchaininfo-API
Supported Cryptos (for now and to be extended on request)
- Bitcoin Mother of Cryptos
- Ethereum
- VeChain
- more to come on demand...
Build & Install
git clone https://gitlab.com/nkdzeus/coinwalletoverview
cd coinwalletoverview
For your default System do:
mkdir -p build/default
cd build/default
cmake ../../ -GNinja
ninja cwo
If you want to cross-compile CWO and have a working cross-compile toolchain simply branch from above instruction:
mkdir -p build/xcp
cd build/xcp
cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchain-rpi.cmake ../../ -GNinja
ninja cwo
Now copy resulting binary (cwo) to your rpi and let it run or boot, or however you prefer (:
Usage/Working
First a configuration-file has to be provided. The configuration should be placed in '$HOME/.config/cwo/state.json'. Example template:
{
"wallets" : [
{"crypto" : "ETH", "address" : "<your-addr>"},
{"crypto" : "VET", "address" : "<your-addr>"},
{"crypto" : "BTC", "address" : "<your-addr>"}
],
"blockcypher" : {
"token" : "your blockcypher api-key/token"
},
"investments" : [
{"crypto" : "ETH", "amount" : 5000, "currency" : "EUR"},
{"crypto" : "BTC", "amount" : 0, "currency" : "EUR"},
{"crypto" : "VET", "amount" : 200, "currency" : "EUR"}
],
"updateinterval" : 5
}
CWO is meant to be used on a Raspberry Pi but is not limited to that. When being run, CWO will create a database in '$HOME/.config/cwo/graph.db'. Each registered wallet will be updated in a frequency of 1 min.
Future
-
Upcoming features:
- Custom graph.db location via configuration-file
- More Cryptotypes...
-
General:
- Better cross-compile guide with every resource necessary
Working on it whenever there is time ;D
Misc
Adaptive in size:
Switch timeintervals:
If enough datapoints are gathered and your display is wide enough, you can optionally switch of graph filling: