Crypto Market UI
Command-line utility to track cryptocurrencies in realtime.
- Configuration based, self contained binary (no dependencies).
- Keyboard-interactive dashboard terminal interface.
- CoinMarketCap API v1 integration (Quotes and Metadata).
- Localized UI via templates (locales: de, fr, es, it, ja, ko, ru, vi, zh)
- Configurable money and currency formatting.
- Extendable to support new market API services and languages.
Install the package using go get.
$ go get github.com/nuxy/go-crypto-market-ui
Download the source and install using Homebrew.
$ brew install ./homebrew/go-crypto-market-ui.rb
Build from source
Package build changes that includes static imports using pkger.
$ pkger -include /locales
Install the new build using gmake.
$ make install
Cross-compile to support Windows, OSX, FreeBSD, etc ..
$ make buildall
Running the terminal
Once compiled it should be as easy as..
Service API key
Like all cryptocurrency markets the CoinMarketCap service requires a valid API key in order to query endpoint data. You can generate an API Key by creating a FREE account. While this type of account has a rate limit (10K call requests per /mo) it should be enough to allow you to run this program consistently as long as you define a conservative Refresh Rate value.
As of now, you must configure cryptocurrencies manually so consider this package a pre-release. This is due to complexities in how form values are currently being handled which shouldn't be rushed. Note, this feature is in active development which I'm hoping to have ready by the next release.
That being said, adding new cryptocurrency symbols that includes units and price is fairly trivial. Upon program initialization a configuration file will be created in
$HOME/.crypto-market-ui.yaml that follows the YAML structure below:
- service: CoinMarketCap apiKey: 123e4567-e89b-12d3-a456-426614174000 currency: USD language: en refreshRate: 60 symbols: ALGO: - units: 10000 price: 0.1234 BAL: - units: 50 price: 9.99 BAT: - units: 420 price: 0.7890 ...
Edit this file by adding the symbols you want to track and restart the program.
Why doesn't the terminal look like the example in OSX?
This is due to Monaco typeface (default font) used by the OSX Terminal. As result you may experience inconsistent line spacing and text alignment. This can be solved by installing the Ubuntu Mono font type (which is used by the demo) or OSX supported Monotype font alternative.
If you fix a bug, or have a code you want to contribute, please send a pull-request with your changes. (Note: Before committing your code please ensure that you run golint). Also, please adhere to the code style set forth in this package (
gofmt is NOT recommended since I prefer variable alignment).
This package is maintained under the Semantic Versioning guidelines.
License and Warranty
This package is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.
go-crypto-market-ui is provided under the terms of the MIT license