Compare cryptocurrency trading data across multiple exchanges and blockchains in the comfort of your terminal
A screenshot is worth a thousand words:
Installation
This project uses Ruby, before installing the coinpare tool, you'll need to ensure Ruby is installed on your machine.
In your terminal execute ruby command with -v option:
$ ruby -v
If you have version of Ruby greater than 2.0.0 then you're good to go.
Otherwise, please follow Installing Ruby to pick best installation method for your operating system.
Once Ruby is installed, install the coinpare gem:
$ gem install coinpare
And then execute coinpare to see all available options:
$ coinpare
Features
- Compare purchased or top coins trading info(price, vol, open, high, low etc)
- Compare top markets by a trading coin pair
- Create custom portfolio and track your holdings
- Display portfolio in a table or pie chart
- Auto refresh cryptocurrencies info with a configurable time interval
Contents
- 1. Usage
- 2. View coins
- 3. View markets
- 4. Create portfolio
- 4.1 Edit coins
- 4.2 Add/remove coins
- 4.3 Pie charts
1. Usage
To use all available commands, run the following in your terminal:
$ coinpareYou will be presented with the following interface:
2. View coins
You can see top 10 trading info (price, volume, open, high, low etc) of any cyptocurrency in any other currency by executing the following in your terminal:
$ coinpare coinsBy default, USD is used as the base currency price conversion. You can change this by passing --base or -b flag:
$ coinpare coins --base BTCIf you wish to see more currencies use --top flag:
$ coinpare coins --top 30Alternatively, you can specify exactly the coins you're interested in by naming them separated by space:
$ coinpare coins ETH BCH LTC --base btcYou can also change the default exchange CCCAGG using the --exchange or -e flag:
$ coinpare coins BTC ETH --exchange coinbaseSee view markets for more information on available exchanges.
Finally, if you want to auto refresh data use --watch or -w flag:
$ coinpare coins --watch
$ coinpare coins -wYou can watch for changes on your preferred cryptocurrencies:
$ coinpare coins BTC ETH LTC ZEC --watchBy default 5 seconds interval is used which you can change by providing a new value after --watch flag:
$ coinpare coins --watch 20 # every 20 secondsTo finish watching for changes hold down Ctrl+C key combination.
3. View markets
You can get top markets by volume for any currency pair. By default 10 top exchanges for the BTC and USD pair by their total volume across all markets in the last 24 hours are displayed.
$ coinpare marketsis equivalent to:
$ coinpare markets BTC --base USDAn example output:
To change the pair do:
$ coinpare markets ETH -b BTCYou can specify the number of displayed exchanges with --top or -t flag:
$ coinpare markets --top 30To watch for changes use the --watch or -w flag:
$ coinpare markets --watch
$ coinpare markets -wTo finish watching for changes hold down Ctrl+C key combination.
4. Create portfolio
There is an easy way for you to keep track of all your investments using the holdings command.
When run for the first time, you will be presented with a prompt that will guide you through the portfolio setup and allow you to add as many holdings as you wish.
$ coinpare holdingsThe prompt may look:
4.1 Edit coins
All your holdings information will be persisted in your user home directory in a file called coinpare.toml. You can edit this file directly using your configured editor by passing the --edit flag:
$ coinpare holdings --editAn example configuration file may look:
[[holdings]]
amount = 1.0
name = "BTC"
price = 9000.0
[[holdings]]
amount = 5.0
name = "LTC"
price = 100.0
[[holdings]]
amount = 2.3
name = "BTC"
price = 5000.0
[[holdings]]
amount = 1000.0
name = "TRX"
price = 2.0
[settings]
base = "USD"
color = true
exchange = "CCCAGG"
Once configured, any subsequent execution of holdings command will display current prices and totals. For example, the before mentioned configuration file may produce the following result:
Similar to other commands, if you want to auto refresh data use --watch or -w flag:
$ coinpare holdings --watch
$ coinpare holdings -wTo finish watching for changes hold down Ctrl+C key combination.
4.2 Add/remove coins
Coinpare allows you to easily add and remove individual coins to and from your holdings portfolio.
To add a coin to your current portfolio use --add flag
$ coinpare holdings --addFor example, the following screenshot shows adding an ETH coin:
To remove one or more coins from your current portfolio use --remove flag:
$ coinpare holdings --removeYou will be presented with a multi select menu that contains all current holdings similar to the one below:
Finally, if you wish to clear all your holdings and start again use --clear flag:
$ coinpare holdings --clear4.3 Pie charts
By default holdings are displayed in a table format. Alternatively, you can view your portfolio in a pie chart
using the --pie or -p option which optionally accepts pie chart radius value:
$ coinpare holdings --pieAn example output:
Development
After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/piotrmurach/coinpare. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Code of Conduct
Everyone interacting in the Coinpare project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.
Credits
All the data is obtained from CryptoCompare.
Copyright
Copyright (c) 2018 Piotr Murach. See GNU Affero General Public License v3.0 for further details.








