polyrabbit / my-token

📈Track token prices in your terminal
MIT License
193 stars 33 forks source link
binance bitcoin bitfinex bittrex blockchain btc cli coinmarketcap crypto cryptocurrency ethereum exchange exchange-api golang huobi kraken okex poloniex price-tracker ticker

MyToken

CI codecov License: MIT PRs Welcome Go Report Card

NEVER LEAVE YOUR TERMINAL

my-token

my-token (or mt for short) is a CLI tool for those who are both Crypto investors and Engineers, allowing you to track token prices and changes in your favorite exchanges on the terminal.

Features

Supported Exchanges

Installation

Homebrew

# WIP

curl | bash style downloads to /usr/local/bin

$ curl -sfL https://raw.githubusercontent.com/polyrabbit/my-token/master/install.sh | bash -s -- -d -b /usr/local/bin

Using Go (1.16+)

$ go get -u github.com/polyrabbit/my-token

Manually

Download from release page and extract the tarbal into /usr/bin or your PATH directory.

Usage

$ mt --help

Usage: mt [Options] [Exchange1.Token1 Exchange2.Token2.<api_key> ...]

Track token prices of your favorite exchanges in the terminal

Options:
  -v, --Version                            Show Version number
  -d, --debug                              Enable debug mode
  -l, --list-exchanges                     List supported exchanges
  -r, --refresh int                        Auto refresh on every specified seconds, note every exchange has a rate limit,
                                           too frequent refresh may cause your IP banned by their servers
  -c, --config-file string                 Config file path, use "--example-config-file <path>" to generate an example config file,
                                           by default my-token uses "my_token.yml" in current directory or $HOME as config file
      --example-config-file string[="-"]   Generate example config file to the specified file path, by default it outputs to stdout
  -s, --show strings                       Only show comma-separated columns (default [Symbol,Price,%Change(1h),%Change(24h),Source,Updated])
  -p, --proxy string                       Proxy used when sending HTTP request
                                           (eg. "http://localhost:7777", "https://localhost:7777", "socks5://localhost:1080")
  -t, --timeout int                        HTTP request timeout in seconds (default 20)

Space-separated exchange.token pairs:
  Specify which exchange and token pair to query, different exchanges use different forms to express tokens/trading pairs, refer to their URLs to find the format (eg. "Bitfinex.BTCUSDT"). Optionally you can set api_key in the third place.

Find help/updates from here - https://github.com/polyrabbit/my-token
$ mt binance.BNBUSDT binance.BTCUSDT Huobi.HTUSDT

Here Binance and Huobi can be replaced by any supported exchanges, and different exchanges use different forms to express tokens/symbols/markets, refer to their URLs to find the format.

$ mt -r 10 binance.BNBUSDT binance.BTCUSDT Huobi.HTUSDT

NOTE: some exchanges has a strict rate limit, too frequent refresh may cause your IP banned by their servers.

$ mt --show Symbol,Price binance.BTCUSDT

See issue #3 for a discussion on this feature.

$ mt -c my_token.example.yaml

my-token can also read options from configuration file, see the attached my_token.example.yaml for its format. By default my-token searches configuration file my_token.yml in current directory and $HOME, so you can compose a my_token.yml, place it in your $HOME and just type mt to get all pre-defined prices.

$ # Generate an example config file to my $HOME directory
$ mt --example-config-file=$HOME/my_token.yml
$
$
$ # my-token will search for configuration file "my_token.yml" in current directory and "$HOME" by default
$ mt       # <--- This is also the way I used most freqently 

Thanks

License

The MIT License (MIT) - see LICENSE.md for more details