coinpare

Compare cryptocurrency trading data across multiple exchanges and blockchains in the comfort of your terminal

105
6
Ruby
coinpare logo

Coinpare Gitter

Gem Version
Actions CI
Build status
Maintainability
Coverage Status
Inline docs

Compare cryptocurrency trading data across multiple exchanges and blockchains in the comfort of your terminal

A screenshot is worth a thousand words:

CoinsView

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

To use all available commands, run the following in your terminal:

$ coinpare

You will be presented with the following interface:

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 coins

By default, USD is used as the base currency price conversion. You can change this by passing --base or -b flag:

$ coinpare coins --base BTC

If you wish to see more currencies use --top flag:

$ coinpare coins --top 30

Alternatively, you can specify exactly the coins you’re interested in by naming them separated by space:

$ coinpare coins ETH BCH LTC --base btc

You can also change the default exchange CCCAGG using the --exchange or -e flag:

$ coinpare coins BTC ETH --exchange coinbase

See 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 -w

You can watch for changes on your preferred cryptocurrencies:

$ coinpare coins BTC ETH LTC ZEC --watch

By default 5 seconds interval is used which you can change by providing a new value after --watch flag:

$ coinpare coins --watch 20   # every 20 seconds

To 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 markets

is equivalent to:

$ coinpare markets BTC --base USD

An example output:

MarketsView

To change the pair do:

$ coinpare markets ETH -b BTC

You can specify the number of displayed exchanges with --top or -t flag:

$ coinpare markets --top 30

To watch for changes use the --watch or -w flag:

$ coinpare markets --watch
$ coinpare markets -w

To 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 holdings

The prompt may look:

CreateHoldings

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 --edit

An 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:

ViewHoldings

Similar to other commands, if you want to auto refresh data use --watch or -w flag:

$ coinpare holdings --watch
$ coinpare holdings -w

To 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 --add

For example, the following screenshot shows adding an ETH coin:

AddHoldings

To remove one or more coins from your current portfolio use --remove flag:

$ coinpare holdings --remove

You will be presented with a multi select menu that contains all current holdings similar to the one below:

RemoveHoldings

Finally, if you wish to clear all your holdings and start again use --clear flag:

$ coinpare holdings --clear

4.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 --pie

An example output:

HoldingsAsPieChart

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 © 2018 Piotr Murach. See GNU Affero General Public License v3.0 for further details.