bin/macos | ||
cointop | ||
pkg | ||
vendor | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
cointop.rb | ||
Gopkg.lock | ||
Gopkg.toml | ||
install.sh | ||
LICENSE.md | ||
main.go | ||
Makefile | ||
README.md | ||
snapcraft.yaml |
cointop
Coin tracking for hackers
cointop
is a fast and lightweight interactive terminal based UI application for tracking and monitoring cryptocurrency coin stats in real-time.
The interface is inspired by htop
and shortcut keys are inspired by vim
.
Yes, it's fast.
Table of Contents
Features
- Quick sort shortcuts
- Custom key bindings config
- Vim inspired shortcut keys
- Fast pagination
- Charts for coins and global market graphs
- Fuzzy searching for finding coins
- Save and view favorite coins
- Color support
- Help menu
- Offline cache
- Works on macOS, Linux, and Windows
Installing
Make sure to have go (1.9+) installed, then do:
go get -u github.com/miguelmota/cointop
Homebrew (macOS)
cointop is available via Homebrew for macOS:
brew tap cointop/cointop https://github.com/miguelmota/cointop
brew install cointop
Snap (Linux)
cointop is also available as a snap for Linux users.
sudo snap install cointop --stable
Running snap:
sudo snap run cointop
Note: snaps don't work in Windows WSL. See this issue thread.
Windows WSL (Windows)
You'll need additional font support for Windows WSL. Please see the wiki for instructions.
Updating
To update make sure to use the -u
flag.
go get -u github.com/miguelmota/cointop
Snap
Use the refresh
command to update snap.
sudo snap refresh cointop --stable
Homebrew
brew uninstall cointop && brew install cointop
Usage
Just run the cointop
command to get started:
$ cointop
Shortcuts
List of default shortcut keys:
Key | Action |
---|---|
↑ | Move up |
↓ | Move down |
→ | Go to next page |
← | Go to previous page |
Page Up | Jump page up |
Page Down | Jump page down |
Home | Go to first line of page |
End | Go to last line of page |
Enter | Toggle [c]hart for highlighted coin |
Esc | Quit |
Space | Toggle coin as favorite |
Ctrl+c | Alias to quit |
Ctrl+d | Jump page down (vim inspired) |
Ctrl+n | Go to next page |
Ctrl+p | Go to previous page |
Ctrl+r | Force refresh data |
Ctrl+s | Save config |
Ctrl+u | Jump page up (vim inspired) |
Alt+↑ | Sort current column in ascending order |
Alt+↓ | Sort current column in descending order |
Alt+← | Sort column to the left |
Alt+→ | Sort column to the right |
F1 | Show help |
F5 | Force refresh data |
0 | Go to first page (vim inspired) |
1 | Sort table by [1] hour change |
2 | Sort table by [2]4 hour change |
7 | Sort table by [7] day change |
a | Sort table by [a]vailable supply |
c | Toggle [c]hart for highlighted coin |
f | Toggle show favorites |
g | Go to first line of page (vim inspired) |
G | Go to last line of page (vim inspired) |
h | Go to previous page (vim inspired) |
H | Go to top of table window (vim inspired) |
j | Move down (vim inspired) |
k | Move up (vim inspired) |
l | Go to next page (vim inspired) |
L | Go to last line of visible table window (vim inspired) |
m | Sort table by [m]arket cap |
M | Go to middle of visible table window (vim inspired) |
n | Sort table by [n]ame |
o | [o]pen link to highlighted coin on CoinMarketCap |
p | Sort table by [p]rice |
r | Sort table by [r]ank |
s | Sort table by [s]ymbol |
t | Sort table by [t]otal supply |
u | Sort table by last [u]pdated |
v | Sort table by 24 hour [v]olume |
q | [q]uit |
$ | Go to last page (vim inspired) |
? | Show help |
/ | Search (vim inspired) |
Config
The first time you run cointop, it'll create a config file in:
~/.cointop/config
You can then configure the actions you want for each key:
(default ~/.cointop/config
)
[shortcuts]
"$" = "last_page"
0 = "first_page"
1 = "sort_column_1h_change"
2 = "sort_column_24h_change"
7 = "sort_column_7d_change"
"?" = "help"
"/" = "open_search"
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"
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"
c = "toggle_row_chart"
"ctrl+c" = "quit"
"ctrl+d" = "page_down"
"ctrl+n" = "next_page"
"ctrl+p" = "previous_page"
"ctrl+r" = "refresh"
"ctrl+s" = "save"
"ctrl+u" = "page_up"
end = "move_to_page_last_row"
enter = "toggle_row_chart"
esc = "quit"
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"
q = "quit"
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"
List of actions
Action | Description |
---|---|
first_page |
Go to first page |
help |
Show help |
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 |
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 |
previous_page |
Go to previous page |
quit |
Quit application |
refresh |
Do a manual refresh on the data |
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 |
sort_column_desc |
Sort highlighted column by descending order |
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 |
toggle_show_favorites |
Toggle show favorites |
save |
Save config |
FAQ
-
Q: Where is the data from?
- A: The data is from Coin Market Cap.
-
Q: What coins does this support?
- A: This supports any coin listed on Coin Market Cap.
-
Q: How often is the data polled?
- A: Data gets polled once every minute by default. You can press Ctrl+r to force refresh.
-
Q: I installed cointop without errors but the command is not found.
-
A: Make sure your
GOPATH
andPATH
is set correctly.export GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin
-
-
Q: What is the size of the binary?
- A: The executable is only ~1.9MB in size.
-
Q: How do I search?
- A: The default key to open search is /. Type the search query after the
/
in the field and hit Enter.
- A: The default key to open search is /. Type the search query after the
-
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?
- A: Press the space key to toggle a coin as a favorite.
-
Q: How do I view all my favorites?
- A: Press f to toggle view all your favorites.
-
Q: How do I save my favorites?
- A: Press ctrl+s to save your favorites.
-
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:
LANG=en_US.utf8 TERM=xterm-256color cointop
If you're on Windows WSL, please see the wiki for font support instructions.
-
-
Q: How do I install Go on Ubuntu?
- A: There's instructions on installing Go on Ubuntu in the wiki.
-
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.
- A: Unfortunately Windows WSL doesn't support
-
Q: How do I show the help menu?
- A: Press ? to toggle the help menu. Press q to close help menu.
Development
Snap
Building snap
$ make snap/build
Homebrew
Installing from source
make brew/build
License
Released under the Apache 2.0 license.