2
0
mirror of https://github.com/miguelmota/cointop synced 2024-11-16 21:25:38 +00:00
cointop/README.md

1022 lines
32 KiB
Markdown
Raw Normal View History

2019-01-19 23:25:06 +00:00
<h3 align="center">
2018-05-02 06:53:15 +00:00
<br />
2019-01-19 23:25:06 +00:00
<img src="https://user-images.githubusercontent.com/168240/39561871-51cda852-4e5d-11e8-926b-7692d43143e8.png" alt="logo" width="400" />
2018-05-02 06:53:15 +00:00
<br />
<br />
<br />
2019-01-19 23:25:06 +00:00
</h3>
# cointop
2018-03-29 22:02:24 +00:00
> Coin tracking for hackers
2019-06-29 19:57:56 +00:00
[![License](http://img.shields.io/badge/license-Apache-blue.svg)](https://raw.githubusercontent.com/miguelmota/cointop/master/LICENSE)
2019-04-17 04:48:38 +00:00
[![Build Status](https://travis-ci.org/miguelmota/cointop.svg?branch=master)](https://travis-ci.org/miguelmota/cointop)
[![Go Report Card](https://goreportcard.com/badge/github.com/miguelmota/cointop?)](https://goreportcard.com/report/github.com/miguelmota/cointop)
[![GoDoc](https://godoc.org/github.com/miguelmota/cointop?status.svg)](https://godoc.org/github.com/miguelmota/cointop)
[![Mentioned in Awesome Terminals](https://awesome.re/mentioned-badge.svg)](https://github.com/k4m4/terminals-are-sexy)
2018-04-26 17:16:34 +00:00
[`cointop`](https://github.com/miguelmota/cointop) is a fast and lightweight interactive terminal based UI application for tracking and monitoring cryptocurrency coin stats in real-time.
2018-04-26 17:17:11 +00:00
The interface is inspired by [`htop`](https://en.wikipedia.org/wiki/Htop) and shortcut keys are inspired by [`vim`](https://en.wikipedia.org/wiki/Vim_(text_editor)).
2018-04-26 17:13:04 +00:00
2018-05-03 18:55:30 +00:00
<img src="https://user-images.githubusercontent.com/168240/39569578-7ce9f3b6-4e7a-11e8-82a9-8a18b91b1bd5.png" alt="cointop screenshot" width="880" />
2018-04-26 17:15:23 +00:00
2018-05-03 18:55:30 +00:00
<img src="https://user-images.githubusercontent.com/168240/39569662-bcbdbcc0-4e7a-11e8-8a8f-8ff45868a8ae.png" alt="help menu" width="880" />
2018-04-26 17:13:04 +00:00
2018-06-23 07:13:07 +00:00
<img src="https://user-images.githubusercontent.com/168240/41806841-043c0ca6-767a-11e8-9c51-df9fc64b3b5c.png" alt="currency convert menu" width="880" />
2018-05-07 07:54:49 +00:00
2018-04-28 20:23:55 +00:00
In action
2018-04-26 17:15:23 +00:00
2018-05-03 18:55:30 +00:00
<img src="https://user-images.githubusercontent.com/168240/39569570-75b1547c-4e7a-11e8-8eac-552abaa431f0.gif" alt="screencast" width="880" />
2018-04-26 17:14:03 +00:00
## Table of Contents
- [Features](#features)
2019-02-12 18:43:31 +00:00
- [Installing](#installing)
- [Updating](#updating)
2018-12-24 09:10:36 +00:00
- [Getting started](#getting-started)
2019-06-09 21:28:26 +00:00
- [Navigation](#navigation)
- [Favorites](#favorites)
- [Portfolio](#portfolio)
- [Search](#search)
- [Base Currency](#base-currency)
- [Shortcuts](#shortcuts)
2019-06-09 21:53:30 +00:00
- [Colorschemes](#colorschemes)
- [Config](#config)
- [FAQ](#faq)
2019-02-27 00:34:22 +00:00
- [Mentioned in](#mentioned-in)
2018-04-26 22:53:15 +00:00
- [Development](#development)
2019-06-02 05:04:42 +00:00
- [Tip Jar](#tip-jar)
- [License](#license)
## Features
- Quick sort shortcuts
2019-05-15 17:47:02 +00:00
- Custom key bindings configuration
- Vim inspired shortcut keys
- Fast pagination
- Charts for coins and global market graphs
2018-05-02 22:51:34 +00:00
- Quick chart date range change
- Fuzzy searching for finding coins
2018-05-07 07:51:29 +00:00
- Currency conversion
- Save and view favorite coins
2018-12-24 09:10:36 +00:00
- Portfolio tracking of holdings
2019-05-15 17:47:02 +00:00
- 256-color support
2019-06-09 21:28:26 +00:00
- Custom colorschemes
- Help menu
2018-04-26 22:53:15 +00:00
- Offline cache
2019-05-15 17:47:02 +00:00
- Supports multiple coin stat APIs
- Auto-refresh
- Works on macOS, Linux, and Windows
2018-12-24 09:10:36 +00:00
- It's very lightweight; can be left running indefinitely
## Installing
2018-03-29 22:04:28 +00:00
2018-06-23 06:18:29 +00:00
There are multiple ways you can install cointop depending on the platform you're on.
2019-02-26 06:34:53 +00:00
### From source (always latest and recommeded)
2018-06-23 06:18:29 +00:00
2019-09-04 19:51:32 +00:00
Make sure to have [go](https://golang.org/) (1.12+) installed, then do:
2018-03-29 22:04:28 +00:00
```bash
go get -u github.com/miguelmota/cointop
2018-03-29 22:04:28 +00:00
```
2018-12-18 10:30:08 +00:00
Make sure `$GOPATH/bin` is added to the `$PATH` variable.
Now you can run cointop:
2018-05-21 08:36:45 +00:00
```bash
cointop
```
2018-12-31 23:30:23 +00:00
### Binary (all platforms)
You can download the binary from the [releases](https://github.com/miguelmota/cointop/releases) page
```bash
# replace x.x.x with the latest version
wget https://github.com/miguelmota/cointop/releases/download/x.x.x/cointop_x.x.x_linux_amd64.tar.gz
tar -xvzf cointop_x.x.x_linux_amd64.tar.gz cointop
./cointop
2019-01-19 23:25:06 +00:00
# optionally move to bin path
sudo mv cointop /usr/local/bin/cointop
2018-12-31 23:30:23 +00:00
```
2018-04-26 23:19:19 +00:00
### Homebrew (macOS)
cointop is available via [Homebrew](https://formulae.brew.sh/formula/cointop) for macOS:
2018-05-21 08:36:45 +00:00
```bash
2018-04-26 23:19:19 +00:00
brew install cointop
```
2018-05-21 08:36:45 +00:00
Run
```bash
cointop
```
2018-05-11 10:12:30 +00:00
### Flatpak (Linux)
cointop is available as a [Flatpak](https://flatpak.org/) package via the [Flathub](https://flathub.org/apps/details/com.github.miguelmota.Cointop) registry.
2018-05-11 10:12:30 +00:00
Add the flathub repository (if not done so already)
2018-05-11 10:12:30 +00:00
```bash
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
```
Install cointop flatpak
```bash
2018-06-23 06:18:29 +00:00
sudo flatpak install flathub com.github.miguelmota.Cointop
2018-05-11 10:12:30 +00:00
```
Run cointop flatpak
```bash
flatpak run com.github.miguelmota.Cointop
```
2018-05-21 08:23:39 +00:00
cointop flathub [project page](https://flathub.org/apps/details/com.github.miguelmota.Cointop)
2018-05-21 07:06:04 +00:00
### Copr (Fedora)
cointop is available as a [copr](https://copr.fedorainfracloud.org/) package.
First, enable the respository
```bash
sudo dnf copr enable miguelmota/cointop
```
Install cointop
2018-12-27 02:00:03 +00:00
```bash
2018-05-21 07:06:04 +00:00
sudo dnf install cointop
```
2018-05-21 08:23:39 +00:00
2018-05-21 08:36:45 +00:00
Run
```bash
cointop
```
2018-05-21 08:23:39 +00:00
cointop copr [project page](https://copr.fedorainfracloud.org/coprs/miguelmota/cointop/).
2018-05-21 07:06:04 +00:00
### AUR (Arch Linux)
cointop is available as an [AUR](https://aur.archlinux.org/packages/cointop) package.
```bash
git clone https://aur.archlinux.org/cointop.git
cd cointop
makepkg -si
```
2018-05-11 10:12:30 +00:00
### Snap (Ubuntu)
2018-05-01 19:47:43 +00:00
cointop is available as a [snap](https://snapcraft.io/cointop) for Linux users.
```bash
sudo snap install cointop --stable
```
Running snap:
```bash
sudo snap run cointop
```
2018-05-21 08:23:39 +00:00
cointop snapcraft [project page](https://snapcraft.io/cointop).
Note: snaps don't work in Windows WSL. See this [issue thread](https://forum.snapcraft.io/t/windows-subsystem-for-linux/216).
2019-07-05 07:14:29 +00:00
### Windows (PowerShell / WSL)
2019-07-05 06:41:57 +00:00
Install [Go](https://golang.org/doc/install) and [git](https://git-scm.com/download/win), then:
```powershell
go get -u github.com/miguelmota/cointop
```
2019-07-05 07:14:29 +00:00
You'll need additional font support for Windows. Please see the [wiki](https://github.com/miguelmota/cointop/wiki/Windows-Command-Prompt-and-WSL-Font-Support) for instructions.
2018-04-26 23:19:19 +00:00
2018-05-21 07:42:32 +00:00
### Binaries
You can find pre-built binaries on the [releases](https://github.com/miguelmota/cointop/releases) page.
## Updating
2018-05-01 19:47:43 +00:00
To update make sure to use the `-u` flag if installed via Go.
```bash
go get -u github.com/miguelmota/cointop
```
2018-05-01 19:47:43 +00:00
### Homebrew (macOS)
```bash
2018-05-01 19:47:43 +00:00
brew uninstall cointop && brew install cointop
```
2018-05-11 10:12:30 +00:00
### Flatpak (Linux)
```bash
2018-06-23 10:19:16 +00:00
sudo flatpak uninstall com.github.miguelmota.Cointop
sudo flatpak install flathub com.github.miguelmota.Cointop
2018-05-11 10:12:30 +00:00
```
2018-05-21 08:36:45 +00:00
### Copr (Fedora)
```bash
sudo dnf update cointop
```
2018-05-11 10:12:30 +00:00
### Snap (Ubuntu)
2018-05-01 19:47:43 +00:00
Use the `refresh` command to update snap.
2018-04-26 23:19:19 +00:00
```bash
2018-05-01 19:47:43 +00:00
sudo snap refresh cointop --stable
2018-04-26 23:19:19 +00:00
```
2018-12-24 09:10:36 +00:00
## Getting started
Just run the `cointop` command to get started:
```bash
$ cointop
```
2018-12-24 09:10:36 +00:00
### Navigation
2018-12-24 09:22:37 +00:00
- Easiest way to navigate up and down is using the arrow keys <kbd></kbd> and <kbd></kbd>, respectively
- To go the next and previous pages, use <kbd></kbd> and <kbd></kbd>, respectively
2018-12-24 09:25:01 +00:00
- To go to the top and bottom of the page, use <kbd>g</kbd> and <kbd>G</kbd> (Shift+g), respectively
2018-12-24 09:10:36 +00:00
- Check out the rest of [shortcut](#shortcuts) keys for vim-inspired navigation
### Favorites
- To toggle a coin as a favorite, press <kbd>Space</kbd> on the highlighted coin
2018-12-24 09:25:01 +00:00
- To view all your favorite coins, press <kbd>F</kbd> (Shift+f)
- To exit out of the favorites view, press <kbd>F</kbd> (Shift+f) again or <kbd>q</kbd>
2018-12-24 09:10:36 +00:00
### Portfolio
2018-12-26 08:40:34 +00:00
<img src="https://user-images.githubusercontent.com/168240/50439364-a78ade00-08a6-11e9-992b-af63ef21100d.png" alt="portfolio screenshot" width="880" />
2018-12-24 09:10:36 +00:00
- To add a coin to your portfolio, press <kbd>e</kbd> on the highlighted coin
- To edit the holdings of coin in your portfolio, press <kbd>e</kbd> on the highlighted coin
2018-12-24 09:25:43 +00:00
- To view your portfolio, press <kbd>P</kbd> (Shift+p)
- To exit out of the portfolio view press, <kbd>P</kbd> (Shift+p) again or <kbd>q</kbd>
2018-12-24 09:10:36 +00:00
2018-12-26 23:34:39 +00:00
### Search
- To search for coins, press <kbd>/</kbd> then enter the search query and hit <kbd>Enter</kbd>
2019-06-09 21:28:26 +00:00
### Base Currency
2018-12-26 23:34:39 +00:00
- To change the currency, press <kbd>c</kbd> then enter the character next to the desired currency
## Shortcuts
List of default shortcut keys:
Key|Action
----|------|
<kbd></kbd>|Move up
<kbd></kbd>|Move down
<kbd></kbd>|Go to next page
<kbd></kbd>|Go to previous page
<kbd>Page Up</kbd>|Jump page up
<kbd>Page Down</kbd>|Jump page down
<kbd>Home</kbd>|Go to first line of page
<kbd>End</kbd>|Go to last line of page
2018-05-08 01:55:12 +00:00
<kbd>Enter</kbd>|Toggle chart for highlighted coin
2018-05-08 01:48:27 +00:00
<kbd>Esc</kbd>|Quit view
<kbd>Space</kbd>|Toggle coin as favorite
2018-05-08 01:55:12 +00:00
<kbd>Ctrl</kbd>+<kbd>c</kbd>|Quit application
<kbd>Ctrl</kbd>+<kbd>d</kbd>|Jump page down (vim inspired)
2018-04-28 20:23:55 +00:00
<kbd>Ctrl</kbd>+<kbd>f</kbd>|Search
<kbd>Ctrl</kbd>+<kbd>n</kbd>|Go to next page
<kbd>Ctrl</kbd>+<kbd>p</kbd>|Go to previous page
<kbd>Ctrl</kbd>+<kbd>r</kbd>|Force refresh data
<kbd>Ctrl</kbd>+<kbd>s</kbd>|Save config
<kbd>Ctrl</kbd>+<kbd>u</kbd>|Jump page up (vim inspired)
<kbd>Alt</kbd>+<kbd></kbd>|Sort current column in ascending order
<kbd>Alt</kbd>+<kbd></kbd>|Sort current column in descending order
<kbd>Alt</kbd>+<kbd></kbd>|Sort column to the left
<kbd>Alt</kbd>+<kbd></kbd>|Sort column to the right
<kbd>F1</kbd>|Show help|
<kbd>F5</kbd>|Force refresh data|
<kbd>0</kbd>|Go to first page (vim inspired)
<kbd>1</kbd>|Sort table by *[1] hour change*
<kbd>2</kbd>|Sort table by *[2]4 hour change*
<kbd>7</kbd>|Sort table by *[7] day change*
<kbd>a</kbd>|Sort table by *[a]vailable supply*
2018-12-23 08:10:41 +00:00
<kbd>b</kbd>|Sort table by *[b]alance*
2018-05-07 07:51:29 +00:00
<kbd>c</kbd>|Show currency convert menu
2018-12-24 09:10:36 +00:00
<kbd>C</kbd>|Show currency convert menu
<kbd>e</kbd>|Show portfolio edit holdings menu
2018-12-24 09:28:28 +00:00
<kbd>E</kbd> (Shift+e)|Show portfolio edit holdings menu
2018-05-09 08:57:35 +00:00
<kbd>f</kbd>|Toggle coin as favorite
2018-12-24 09:28:28 +00:00
<kbd>F</kbd> (Shift+f)|Toggle show favorites
<kbd>g</kbd>|Go to first line of page (vim inspired)
2018-12-24 09:28:28 +00:00
<kbd>G</kbd> (Shift+g)|Go to last line of page (vim inspired)
<kbd>h</kbd>|Go to previous page (vim inspired)
2018-12-23 08:10:41 +00:00
<kbd>h</kbd>|Sort table by *[h]oldings* (portfolio view only)
2018-12-24 09:28:28 +00:00
<kbd>H</kbd> (Shift+h)|Go to top of table window (vim inspired)
<kbd>j</kbd>|Move down (vim inspired)
<kbd>k</kbd>|Move up (vim inspired)
<kbd>l</kbd>|Go to next page (vim inspired)
2018-12-24 09:28:28 +00:00
<kbd>L</kbd> (Shift+l)|Go to last line of visible table window (vim inspired)
<kbd>m</kbd>|Sort table by *[m]arket cap*
2018-12-24 09:28:28 +00:00
<kbd>M</kbd> (Shift+m)|Go to middle of visible table window (vim inspired)
<kbd>n</kbd>|Sort table by *[n]ame*
2018-12-31 23:30:23 +00:00
<kbd>o</kbd>|[o]pen link to highlighted coin (visits the API's coin page)
<kbd>p</kbd>|Sort table by *[p]rice*
2018-12-24 09:28:28 +00:00
<kbd>P</kbd> (Shift+p)|Toggle show portfolio
<kbd>r</kbd>|Sort table by *[r]ank*
<kbd>s</kbd>|Sort table by *[s]ymbol*
<kbd>t</kbd>|Sort table by *[t]otal supply*
<kbd>u</kbd>|Sort table by *last [u]pdated*
<kbd>v</kbd>|Sort table by *24 hour [v]olume*
2018-05-08 01:55:12 +00:00
<kbd>q</kbd>|Quit view
<kbd>$</kbd>|Go to last page (vim inspired)
<kbd>?</kbd>|Show help|
<kbd>/</kbd>|Search (vim inspired)|
2018-05-02 22:47:40 +00:00
<kbd>]</kbd>|Next chart date range|
<kbd>[</kbd>|Previous chart date range|
<kbd>}</kbd>|Last chart date range|
<kbd>{</kbd>|First chart date range|
2019-06-30 18:53:07 +00:00
<kbd>\\</kbd>|Toggle table fullscreen|
2019-06-09 21:53:30 +00:00
## Colorschemes
2019-06-09 21:28:26 +00:00
2019-06-09 21:53:30 +00:00
cointop supports custom colorschemes (themes).
2019-06-09 21:28:26 +00:00
<img src="https://user-images.githubusercontent.com/168240/59164231-165b9c80-8abf-11e9-98cf-915ee37407ff.gif" alt="cointop colorschemes" width="880" />
2019-06-09 21:53:30 +00:00
To use standard colorschemes, clone the [colors](https://github.com/cointop-sh/colors) repository into the config directory:
2019-06-09 21:28:26 +00:00
```bash
$ cd ~/.cointop
$ git clone git@github.com:cointop-sh/colors.git
```
2019-06-09 21:53:30 +00:00
Then edit your config `~/.cointop/config.toml` and set the colorscheme you want to use:
2019-06-09 21:28:26 +00:00
```toml
2019-06-09 21:53:30 +00:00
colorscheme = "<colorscheme>"
2019-06-09 21:28:26 +00:00
```
2019-06-10 03:07:56 +00:00
The colorscheme name is the name of the colorscheme TOML file.
2019-06-09 21:53:30 +00:00
For example, if you have `matrix.toml` in `~/.cointop/colors/` then the `colorscheme` property should be set to:
2019-06-09 21:28:26 +00:00
```toml
colorscheme = "matrix"
```
2019-06-10 03:07:56 +00:00
Alternatively, you can run cointop with the `--colorscheme` flag to set the colorscheme:
```bash
$ cointop --colorscheme matrix
```
To create your own colorscheme; simply copy an existing [colorscheme](https://github.com/cointop-sh/colors/blob/master/cointop.toml), rename it, and customize the colors.
2019-06-09 21:28:26 +00:00
## Config
The first time you run cointop, it'll create a config file in:
```
2019-06-09 01:16:57 +00:00
~/.cointop/config.toml
```
You can then configure the actions you want for each key:
2019-06-09 01:16:57 +00:00
(default `~/.cointop/config.toml`)
```toml
2018-12-23 08:10:41 +00:00
currency = "USD"
default_view = ""
2019-05-13 02:24:10 +00:00
api = "coingecko"
2019-06-09 21:53:30 +00:00
colorscheme = "cointop"
2019-06-28 04:16:40 +00:00
refresh_rate = 60
2018-12-23 08:10:41 +00:00
[shortcuts]
"$" = "last_page"
0 = "first_page"
1 = "sort_column_1h_change"
2 = "sort_column_24h_change"
7 = "sort_column_7d_change"
"?" = "help"
"/" = "open_search"
2018-05-02 22:47:40 +00:00
"[" = "previous_chart_range"
2019-06-30 18:53:07 +00:00
"\\" = "toggle_table_fullscreen"
2018-05-02 22:47:40 +00:00
"]" = "next_chart_range"
"{" = "first_chart_range"
"}" = "last_chart_range"
2018-12-23 08:10:41 +00:00
C = "show_currency_convert_menu"
2018-12-24 09:10:36 +00:00
E = "show_portfolio_edit_menu"
G = "move_to_page_last_row"
H = "move_to_page_visible_first_row"
L = "move_to_page_visible_last_row"
M = "move_to_page_visible_middle_row"
2018-12-23 08:10:41 +00:00
O = "open_link"
P = "toggle_portfolio"
a = "sort_column_available_supply"
"alt+down" = "sort_column_desc"
"alt+left" = "sort_left_column"
"alt+right" = "sort_right_column"
"alt+up" = "sort_column_asc"
down = "move_down"
left = "previous_page"
right = "next_page"
up = "move_up"
2018-05-07 07:51:29 +00:00
c = "show_currency_convert_menu"
2018-12-23 08:10:41 +00:00
b = "sort_column_balance"
"ctrl+c" = "quit"
"ctrl+d" = "page_down"
2018-04-28 20:23:55 +00:00
"ctrl+f" = "open_search"
"ctrl+n" = "next_page"
"ctrl+p" = "previous_page"
"ctrl+r" = "refresh"
"ctrl+s" = "save"
"ctrl+u" = "page_up"
2018-12-24 09:10:36 +00:00
e = "show_portfolio_edit_menu"
end = "move_to_page_last_row"
enter = "toggle_row_chart"
esc = "quit"
2018-05-09 08:57:35 +00:00
f = "toggle_favorite"
2018-04-30 22:40:33 +00:00
F = "toggle_show_favorites"
F1 = "help"
g = "move_to_page_first_row"
h = "previous_page"
home = "move_to_page_first_row"
j = "move_down"
k = "move_up"
l = "next_page"
m = "sort_column_market_cap"
n = "sort_column_name"
o = "open_link"
p = "sort_column_price"
pagedown = "page_down"
pageup = "page_up"
2018-05-08 01:48:27 +00:00
q = "quit_view"
2018-05-09 09:02:05 +00:00
Q = "quit_view"
r = "sort_column_rank"
s = "sort_column_symbol"
space = "toggle_favorite"
t = "sort_column_total_supply"
u = "sort_column_last_updated"
v = "sort_column_24h_volume"
2019-04-22 02:39:07 +00:00
[favorites]
[portfolio]
[coinmarketcap]
pro_api_key = ""
```
2019-07-04 04:13:57 +00:00
You may specify a different config file to use by using the `--config` flag:
2018-12-31 23:35:52 +00:00
```bash
2019-07-04 04:13:57 +00:00
cointop --config="/path/to/config.toml"
2018-12-31 23:35:52 +00:00
```
## List of actions
2018-05-01 19:47:43 +00:00
This are the action keywords you may use in the config file to change what the shortcut keys do.
Action|Description
----|------|
2018-05-02 22:51:34 +00:00
`first_chart_range`|Select first chart date range (e.g. 1H)
`first_page`|Go to first page
`help`|Show help
2018-05-07 07:51:29 +00:00
`hide_currency_convert_menu`|Hide currency convert menu
2018-05-02 22:51:34 +00:00
`last_chart_range`|Select last chart date range (e.g. All Time)
`last_page`|Go to last page
`move_to_page_first_row`|Move to first row on page
`move_to_page_last_row`|Move to last row on page
`move_to_page_visible_first_row`|Move to first visible row on page
`move_to_page_visible_last_row`|Move to last visible row on page
`move_to_page_visible_middle_row`|Move to middle visible row on page
`move_up`|Move one row up
`move_down`|Move one row down
2018-05-08 01:55:12 +00:00
`next_chart_range`|Select next chart date range (e.g. 3D → 7D)
`next_page`|Go to next page
`open_link`|Open row link
`open_search`|Open search field
`page_down`|Move one row down
`page_up`|Scroll one page up
2018-05-08 01:55:12 +00:00
`previous_chart_range`|Select previous chart date range (e.g. 7D → 3D)
`previous_page`|Go to previous page
`quit`|Quit application
2018-05-08 01:48:27 +00:00
`quit_view`|Quit view
`refresh`|Do a manual refresh on the data
2018-05-02 22:47:40 +00:00
`save`|Save config
2018-05-07 07:51:29 +00:00
`show_currency_convert_menu`|Show currency convert menu
`show_favorites`|Show favorites
`sort_column_1h_change`|Sort table by column *1 hour change*
`sort_column_24h_change`|Sort table by column *24 hour change*
`sort_column_24h_volume`|Sort table by column *24 hour volume*
`sort_column_7d_change`|Sort table by column *7 day change*
`sort_column_asc`|Sort highlighted column by ascending order
`sort_column_available_supply`|Sort table by column *available supply*
2018-12-23 08:10:41 +00:00
`sort_column_balance`|Sort table by column *balance*
`sort_column_desc`|Sort highlighted column by descending order
2018-12-23 08:10:41 +00:00
`sort_column_holdings`|Sort table by column *holdings*
`sort_column_last_updated`|Sort table by column *last updated*
`sort_column_market_cap`|Sort table by column *market cap*
`sort_column_name`|Sort table by column *name*
`sort_column_price`|Sort table by column *price*
`sort_column_rank`|Sort table by column *rank*
`sort_column_symbol`|Sort table by column *symbol*
`sort_column_total_supply`|Sort table by column *total supply*
`sort_left_column`|Sort the column to the left of the highlighted column
`sort_right_column`|Sort the column to the right of the highlighted column
`toggle_row_chart`|Toggle the chart for the highlighted row
`toggle_favorite`|Toggle coin as favorite
2018-05-07 07:51:29 +00:00
`toggle_show_currency_convert_menu`|Toggle show currency convert menu
`toggle_show_favorites`|Toggle show favorites
2018-12-23 08:10:41 +00:00
`toggle_portfolio`|Toggle portfolio view
`toggle_show_portfolio`|Toggle show portfolio view
2018-12-24 09:10:36 +00:00
`show_portfolio_edit_menu`|Show portfolio edit holdings menu
2019-06-30 18:53:07 +00:00
`toggle_table_fullscreen`|Toggle table fullscreen
## FAQ
2018-12-23 08:10:41 +00:00
Frequently asked questions:
- Q: Where is the data from?
2019-05-13 02:24:10 +00:00
- A: By default, the data is from [CoinGecko](https://www.coingecko.com/). Data from [CoinMarketCap](https://coinmarketcap.com/) is another option.
- Q: What APIs does it support?
- A: APIs currently supported are [CoinMarketCap](https://coinmarketcap.com/) and [CoinGecko](https://www.coingecko.com/).
- Q: What coins does this support?
2018-12-31 23:30:23 +00:00
- A: This supports any coin supported by the API being used to fetch coin information.
2019-05-13 02:24:10 +00:00
- Q: How do I set the API to use?
- A: You can use the `--api` flag, eg. `--api coingecko`. You can also set the API choice in the config file.
```toml
api = "coingecko"
```
Options are: `coinmarketcap`, `coingecko`
2019-06-09 21:53:30 +00:00
- Q: How do I change the colorscheme (theme)?
2019-06-09 21:28:26 +00:00
- A: You can use the `--colorscheme` flag, eg. `--colorscheme matrix`. You can also set the colorscheme choice in the config file.
```toml
2019-06-09 21:53:30 +00:00
colorscheme = "<colorscheme>"
2019-06-09 21:28:26 +00:00
```
For more instructions, visit the [colors](https://github.com/cointop-sh/colors) repository.
2019-06-09 21:53:30 +00:00
- Q: How do I create a custom colorscheme?
- A: Copy an existing [colorscheme](https://github.com/cointop-sh/colors/blob/master/cointop.toml) to `~/.cointop/colors/` and customize the colors. Then run cointop with `--colorscheme <colorscheme>` to use the colorscheme.
2019-05-13 02:24:10 +00:00
- Q: Where is the config file located?
2019-06-09 01:16:57 +00:00
- A: The default configuration file is located under `~/.cointop/config.toml`
2019-05-13 02:24:10 +00:00
- Q: What format is the configuration file in?
- A: The configuration file is in [TOML](https://en.wikipedia.org/wiki/TOML) format.
2018-12-31 23:30:23 +00:00
- Q: Will you be supporting more coin API's in the future?
2019-01-19 23:25:06 +00:00
- A: Yes supporting more coin APIs is planned.
- Q: How often is the data polled?
2019-06-28 04:16:40 +00:00
- A: Data gets polled once 60 seconds by default. You can press <kbd>Ctrl</kbd>+<kbd>r</kbd> to force refresh. You can configure the refresh rate with the flag `--refresh-rate <seconds>`
- Q: How can I change the refresh rate?
- A: Run cointop with the flag `--refresh-rate 60` where the value is the number of seconds that it will fetch for data. You can also set the refresh rate in the config file:
```toml
refresh_rate = 60
```
2018-12-31 23:30:23 +00:00
- Q: I ran cointop for the first time and don't see any data?
- A: Running cointop for the first time will fetch the data and populate the cache which may take a few seconds.
2019-02-26 06:34:53 +00:00
- Q: I'm no longer seeing any data!
- A: Run cointop with the `--clean` flag to delete the cache. If you're still not seeing any data, then please [submit an issue](https://github.com/miguelmota/cointop/issues/new).
2019-02-26 06:34:53 +00:00
2019-04-24 21:45:15 +00:00
- Q: How do I get a CoinMarketCap Pro API key?
- A: Create an account on [CoinMarketCap](https://pro.coinmarketcap.com/signup) and visit the [Account](https://pro.coinmarketcap.com/account) page to copy your Pro API key.
- Q: How do I add my CoinMarketCap Pro API key?
2019-04-17 09:00:49 +00:00
2019-04-22 02:39:07 +00:00
- A: Add the API key in the cointop config file:
```toml
[coinmarketcap]
pro_api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
```
2019-04-24 21:45:15 +00:00
Alternatively, you can export the environment variable `CMC_PRO_API_KEY` containing the API key in your `~/.bashrc`
```bash
export CMC_PRO_API_KEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
```
You may also set the API key on start:
```bash
cointop --coinmarketcap-api-key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
```
2019-04-17 09:00:49 +00:00
2019-07-01 01:50:48 +00:00
- Q: I can I add my own API to cointop?
2019-07-01 01:52:24 +00:00
- A: Fork cointop and add the API that implements the API [interface](https://github.com/miguelmota/cointop/blob/master/cointop/common/api/interface.go) to [`cointop/cointop/common/api/impl/`](https://github.com/miguelmota/cointop/tree/master/cointop/common/api/impl). You can use the CoinGecko [implementation](https://github.com/miguelmota/cointop/blob/master/cointop/common/api/impl/coingecko/coingecko.go) as reference.
2019-07-01 01:50:48 +00:00
- Q: I installed cointop without errors but the command is not found.
- A: Make sure your `GOPATH` and `PATH` is set correctly.
```bash
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
```
- Q: How do I search?
- A: The default key to open search is <kbd>/</kbd>. Type the search query after the `/` in the field and hit <kbd>Enter</kbd>.
2018-05-08 01:58:38 +00:00
- Q: How do I exit search?
- A: Press <kbd>ESC</kbd> to exit search.
- Q: Does this work on the Raspberry Pi?
- A: Yes, cointop works on the Rasperry Pi including the RPi Zero.
- Q: How do I add/remove a favorite?
2018-05-09 08:57:35 +00:00
- A: Press the <kbd>f</kbd> key to toggle a coin as a favorite.
- Q: How do I view all my favorites?
2018-12-24 09:25:01 +00:00
- A: Press <kbd>F</kbd> (Shift+f) to toggle view all your favorites.
- Q: How do I save my favorites?
- A: Favorites are autosaved when setting them. You can also press <kbd>ctrl</kbd>+<kbd>s</kbd> to manually save your favorites to the config file.
2018-12-23 08:10:41 +00:00
- Q: What does the yellow asterisk in the row mean?
- A: The yellow asterisk or star means that you've selected that coin to be a favorite.
2019-06-09 21:28:26 +00:00
- Q: My favorites aren't being saved?
- A: Try running cointop with `--clean` flag to clear the cache which might be causing the problem.
2018-12-24 09:10:36 +00:00
- Q: How do I add a coin to my portfolio?
- Press <kbd>e</kbd> on the highlighted coin to enter holdings and add to your portfolio.
- Q: How do I edit the holdings of a coin in my portfolio?
- Press <kbd>e</kbd> on the highlighted coin to edit the holdings.
- Q: How do I remove a coin in my portfolio?
- Press <kbd>e</kbd> on the highlighted coin to edit the holdings and set the value to any empty string (blank value). Set it to `0` if you want to keep the coin without a value.
- Q: How do I view my portfolio?
2018-12-23 08:10:41 +00:00
2018-12-24 09:25:01 +00:00
- A: Press <kbd>P</kbd> (Shift+p) to toggle view your portfolio.
2018-12-23 08:10:41 +00:00
- Q: How do I save my portfolio?
- A: Your portfolio is autosaved after you edit holdings. You can also press <kbd>ctrl</kbd>+<kbd>s</kbd> to manually save your portfolio holdings to the config file.
- Q: I'm getting question marks or weird symbols instead of the correct characters.
- A: Make sure that your terminal has the encoding set to UTF-8 and that your terminal font supports UTF-8.
You can also try running cointop with the following environment variables:
```bash
LANG=en_US.utf8 TERM=xterm-256color cointop
```
2019-07-05 07:14:29 +00:00
If you're on Windows (PowerShell, Command Prompt, or WSL), please see the [wiki](https://github.com/miguelmota/cointop/wiki/Windows-Command-Prompt-and-WSL-Font-Support) for font support instructions.
- Q: How do I install Go on Ubuntu?
- A: There's instructions on installing Go on Ubuntu in the [wiki](https://github.com/miguelmota/cointop/wiki/Installing-Go-on-Ubuntu).
- Q: I'm getting errors installing the snap in Windows WSL.
- A: Unfortunately Windows WSL doesn't support `snapd` which is required for snaps to run. See this [issue thread](https://forum.snapcraft.io/t/windows-subsystem-for-linux/216).
2019-06-28 08:01:26 +00:00
- Q: How do I fix my GOPATH on Windows?
2019-07-05 07:14:29 +00:00
- A: Go to Control Panel -> Under _System_ click _Edit the system environment variables_ -> then click the _Environment Variables..._ button -> check the `GOPATH` variable.
2019-06-28 08:01:26 +00:00
Check the environment variable in PowerShell:
```bash
$ Get-ChildItem Env:GOPATH
Name Value
---- -----
GOPATH C:\Users\alice\go
```
- Q: How do I manually build the cointop executable on Windows?
- A: Here's how to build the executable and run it:
2019-07-05 07:14:29 +00:00
```powershell
> md C:\Users\Josem\go\src\github.com\miguelmota -ea 0
> git clone https://github.com/miguelmota/cointop.git
> go build -o cointop.exe main.go
> cointop.exe
2019-06-28 08:01:26 +00:00
```
- Q: How do I show the help menu?
- A: Press <kbd>?</kbd> to toggle the help menu. Press <kbd>q</kbd> to close help menu.
2018-04-28 20:10:17 +00:00
- Q: I'm getting the error: `new gocui: termbox: error while reading terminfo data: EOF` when trying to run.
- A: Try setting the environment variable `TERM=screen-256color`
2018-04-28 20:23:55 +00:00
- Q: Does cointop work inside an emacs shell?
- A: Yes, but it's slightly buggy.
2018-05-02 22:47:40 +00:00
- Q: My shortcut keys are messed or not correct.
- A: Delete the cointop config directory and rerun cointop.
2018-05-08 01:55:12 +00:00
2018-05-02 22:47:40 +00:00
```bash
rm -rf ~/.cointop
```
- Q: How do I display the chart for the highlighted coin?
2018-05-02 22:51:34 +00:00
- A: Press <kbd>Enter</kbd> to toggle the chart for the highlighted coin.
2018-05-02 22:47:40 +00:00
- Q: How do I change the chart date range?
2018-05-02 23:22:32 +00:00
- A: Press <kbd>]</kbd> to cycle to the next date range.
2018-05-02 23:23:07 +00:00
2018-05-02 23:22:32 +00:00
Press <kbd>[</kbd> to cycle to the previous date range.
2018-05-02 23:23:07 +00:00
2018-05-02 23:22:32 +00:00
Press <kbd>{</kbd> to select the first date range.
2018-05-02 23:23:07 +00:00
2018-05-02 23:22:32 +00:00
Press <kbd>}</kbd> to selected the last date range.
2018-05-02 22:47:40 +00:00
2018-05-02 23:20:12 +00:00
- Q: What chart date ranges are supported?
2018-05-02 23:21:30 +00:00
- A: Supported date ranges are `All Time`, `YTD`, `1Y`, `6M`, `3M`, `1M`, `7D`, `3D`, `24H`, `6H`, `1H`.
<sup><sub>YTD = Year-to-date<sub></sup>
2018-05-02 23:20:12 +00:00
2018-05-07 07:51:29 +00:00
- Q: How do I change the fiat currency?
- A: Press <kbd>c</kbd> to show the currency convert menu, and press the corresponding key to select that as the fiat currency.
- Q: Which currencies can I convert to?
2018-06-23 07:00:26 +00:00
- A: The supported fiat currencies for conversion are `AUD`, `BRL`, `CAD`, `CFH`, `CLP`, `CNY`, `CZK`, `DKK`, `EUR`, `GBP`, `HKD`, `HUF`, `IDR`, `ILS`, `INR`, `JPY`, `KRW`, `MXN`, `MYR`, `NOK`, `NZD`, `PLN`, `PHP`, `PKR`, `RUB`, `SEK`, `SGD`, `THB`, `TRY`, `TWD`, `USD`, and `ZAR`.
2018-05-08 01:55:12 +00:00
2018-06-23 07:01:40 +00:00
The supported crypto currencies for conversion are `BTC` and `ETH`.
2018-05-07 07:51:29 +00:00
2019-05-13 02:24:10 +00:00
Please note that some APIs may have limited support for certain conversion formats.
- Q: How do I save the selected currency to convert to?
- A: The selected currency conversion is autosaved. You can also press <kbd>ctrl</kbd>+<kbd>s</kbd> to manually save the selected currency conversion.
2018-12-23 08:10:41 +00:00
- Q: What does saving do?
- A: The save command (<kbd>ctrl</kbd>+<kbd>s</kbd>) saves your selected currency, selected favorite coins, and portfolio coins to the cointop config file.
2018-05-07 08:03:38 +00:00
- Q: The data isn't refreshing!
2018-12-31 23:30:23 +00:00
- A: The coin APIs have rate limits, so make sure to keep manual refreshes to a minimum. If you've hit the rate limit then wait about half an hour to be able to fetch the data again. Keep in mind that some coin APIs, such as CoinMarketCap, update prices every 5 minutes so constant refreshes aren't necessary.
2018-05-07 08:03:38 +00:00
2018-05-08 01:48:27 +00:00
- Q: How do I quit the application?
- A: Press <kbd>ctrl</kbd>+<kbd>c</kbd> to quit the application.
2018-05-08 01:58:38 +00:00
- Q: How do I quit the open view/window?
- A: Press <kbd>q</kbd> to quit the open view/window.
2018-12-23 08:10:41 +00:00
- Q: How do I set the favorites view to be the default view?
- A: In the config file, set `default_view = "favorites"`
2018-12-23 08:10:41 +00:00
- Q: How do I set the portfolio view to be the default view?
- A: In the config file, set `default_view = "portfolio"`
2018-12-23 08:10:41 +00:00
- Q: How do I set the table view to be the default view?
- A: In the config file, set `default_view = "default"`
2018-12-23 08:10:41 +00:00
2018-12-31 23:30:23 +00:00
- Q: How can use a different config file other than the default?
2019-07-04 04:13:57 +00:00
- A: Run cointop with the `--config` flag, eg `cointop --config="/path/to/config.toml"`, to use the specified file as the config.
2018-12-31 23:30:23 +00:00
2018-05-13 01:47:06 +00:00
- Q: I'm getting the error `open /dev/tty: no such device or address`.
-A: Usually this error occurs when cointop is running as a daemon or slave which means that there is no terminal allocated, so `/dev/tty` doesn't exist for that process. Try running it with the following environment variables:
```bash
2018-06-23 07:15:06 +00:00
DEV_IN=/dev/stdout DEV_OUT=/dev/stdout cointop
2018-05-13 01:47:06 +00:00
```
2018-12-31 23:30:23 +00:00
- Q: I can only view the first page, why isn't the pagination is working?
- A: Sometimes the coin APIs will make updates and break things. If you see this problem please [submit an issue](https://github.com/miguelmota/cointop/issues/new).
- Q: How can run cointop with just the table?
- A: Run cointop with the `--only-table` flag.
2019-06-26 19:29:39 +00:00
<img width="880" alt="table view only" src="https://user-images.githubusercontent.com/168240/60208658-b0387e80-980d-11e9-8819-8039fb11218f.png" />
2019-06-30 18:53:07 +00:00
- Q: How do I toggle the table to go fullscreen?
- A: Press <kbd>\\</kbd> to toggle the table fullscreen mode.
- Q: How can I hide the top marketbar?
- A: Run cointop with the `--hide-marketbar` flag.
- Q: How can I hide the chart?
- A: Run cointop with the `--hide-chart` flag.
- Q: How can I hide the bottom statusbar?
- A: Run cointop with the `--hide-statusbar` flag.
2018-12-31 23:30:23 +00:00
- Q: How can I delete the cache?
- A: Run `cointop clean` to delete the cache files. Cointop will generate new cache files after fetching data.
2018-12-31 23:30:23 +00:00
- Q: How can I reset cointop?
- A: Run the command `cointop reset` to delete the config files and cache. Cointop will generate a new config when starting up. You can run `cointop --reset` to reset before running cointop.
2018-12-31 23:30:23 +00:00
2018-12-23 08:10:41 +00:00
- Q: What is the size of the binary?
2019-05-15 17:47:02 +00:00
- A: The Go build size is ~8MB but packed with UPX it's only a ~3MB executable binary.
- Q: How much memory does cointop use?
-A: Cointop uses ~15MB of memory so you can run it on a Raspberry Pi Zero if you wanted to (one reason why cointop was built using Go instead of Node.js or Python).
2019-03-18 21:57:24 +00:00
- Q: How does cointop differ from [rate.sx](https://rate.sx/)?
- A: *rate.sx* is great for one-off queries or fetching data for bash scripts because it doesn't require installing anything. Cointop differs in that it is interactive and also supports more currencies.
- Q: How can I get just the coin price with cointop?
- A: Use the `cointop price` command. Here are some examples:
```bash
$ cointop price --coin ethereum
$277.76
$ cointop price -c ethereum --currency btc
Ƀ0.02814
$ cointop -c ethereum -f eur
€245.51
$ cointop price -c ethereum -f usd --api coinmarketcap
$276.37
```
2019-08-05 05:27:13 +00:00
- Q: Does cointop do mining?
- A: Cointop does not do any kind of mining.
2019-02-27 00:34:22 +00:00
## Mentioned in
Cointop has been mentioned in:
- [Ubuntu Twitter](https://twitter.com/ubuntu/status/985947962311311360?lang=en)
- [Ubuntu Podcast](https://ubuntupodcast.org/2018/04/12/s11e06-six-feet-over-it/)
2019-07-09 00:25:30 +00:00
- [Ubuntu Facebook](https://www.facebook.com/ubuntulinux/photos/coin-tracking-for-hackers-cointop-is-a-fast-and-easy-to-use-command-line-applica/10156147393253592/)
2019-02-27 00:34:22 +00:00
- [Terminals Are Sexy](https://github.com/k4m4/terminals-are-sexy#tools-and-plugins)
2019-07-09 00:25:30 +00:00
- [The Changelog News](https://changelog.com/news/cointop-coin-tracking-for-hackers-rAzZ)
2019-02-27 00:34:22 +00:00
2018-04-26 22:53:15 +00:00
## Development
2018-05-01 19:47:43 +00:00
### Go
Running cointop from source
2018-12-26 23:04:02 +00:00
```bash
2018-05-01 19:47:43 +00:00
make run
```
2018-12-26 23:04:02 +00:00
### Update vendor dependencies
```bash
make deps
```
2018-05-11 10:14:45 +00:00
### Homebrew
Installing from source
```bash
make brew/build
```
2018-05-21 08:45:05 +00:00
### Flatpak
2018-05-11 10:13:41 +00:00
2018-05-15 04:37:42 +00:00
Install the freedesktop runtime (if not done so already)
```bash
sudo flatpak install flathub org.freedesktop.Platform//1.6 org.freedesktop.Sdk//1.6
```
Install golang extension
```bash
sudo flatpak install flathub org.freedesktop.Sdk.Extension.golang
```
2018-05-11 10:13:41 +00:00
Building flatpak package
```bash
make flatpak/build
```
2018-05-21 08:45:05 +00:00
### Copr
Install dependencies
```bash
2018-06-23 09:46:17 +00:00
make copr/install/cli
make rpm/install/deps
make rpm/dirs
2018-05-21 08:45:05 +00:00
```
Build package
```bash
2018-06-23 09:47:47 +00:00
make rpm/cp/specs
2018-06-23 10:00:53 +00:00
make rpm/download
2018-06-23 09:46:17 +00:00
make rpm/build
make copr/build
2018-05-21 08:45:05 +00:00
```
2018-05-15 04:37:42 +00:00
2018-04-26 23:19:19 +00:00
### Snap
Building snap
2018-04-26 22:53:15 +00:00
```bash
2018-05-01 19:47:43 +00:00
make snap/build
2018-04-26 22:53:15 +00:00
```
2019-02-27 00:34:22 +00:00
### Deployment
2018-06-23 10:03:46 +00:00
See this [wiki](https://github.com/miguelmota/cointop/wiki/Deployment).
2019-06-02 05:04:42 +00:00
### Tip Jar
[![BTC Tip Jar](https://img.shields.io/badge/BTC-tip-yellow.svg?logo=bitcoin&style=flat)](https://www.blockchain.com/btc/address/3KdMW53vUMLPEC33xhHAUx4EFtvmXQF8Kf) `3KdMW53vUMLPEC33xhHAUx4EFtvmXQF8Kf`
[![ETH Tip Jar](https://img.shields.io/badge/ETH-tip-blue.svg?logo=ethereum&style=flat)](https://etherscan.io/address/0x0072cdd7c3d9963ba69506ECf50e16E963B35bb1) `0x0072cdd7c3d9963ba69506ECf50e16E963B35bb1`
Thank you for tips! 🙏
2018-03-29 22:02:24 +00:00
## License
2019-06-09 21:28:26 +00:00
Released under the [Apache 2.0](./LICENSE) license.