Giter VIP home page Giter VIP logo

cointop's Introduction


cointop


Coin tracking for hackers

License Build Status Go Report Card GoDoc Mentioned in Awesome Terminals

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.

cointop screenshot

help menu

In action

screencast

Table of Contents

Features

  • Quick sort shortcuts
  • Custom key bindings config
  • Vim inspired shortcut keys
  • Fast pagination
  • Charts for coins and global market graphs
  • Quick chart date range change
  • Fuzzy searching for finding coins
  • Save and view favorite coins
  • Color support
  • Help menu
  • Offline cache
  • Works on macOS, Linux, and Windows
  • It's very lightweight; can be left running for weeks

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

Recommended to install using Go (instructions above).

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 if installed via Go.

go get -u github.com/miguelmota/cointop

Homebrew (macOS)

brew uninstall cointop && brew install cointop

Snap (Linux)

Use the refresh command to update snap.

sudo snap refresh cointop --stable

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+f Search
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
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)
] Next chart date range
[ Previous chart date range
} Last chart date range
{ First chart date range

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"
  "[" = "previous_chart_range"
  "]" = "next_chart_range"
  "{" = "first_chart_range"
  "}" = "last_chart_range"
  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+f" = "open_search"
  "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"
  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

This are the action keywords you may use in the config file to change what the shortcut keys do.

Action Description
first_chart_range Select first chart date range (e.g. 1H)
first_page Go to first page
help Show help
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
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
previous_chart_range Select previous chart date range (e.g. 7D -> 3D)
previous_page Go to previous page
quit Quit application
refresh Do a manual refresh on the data
save Save config
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

FAQ

  • Q: Where is the data from?

  • Q: What coins does this support?

  • 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 and PATH 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.
  • 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.
  • Q: How do I show the help menu?

    • A: Press ? to toggle the help menu. Press q to close help menu.
  • 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
  • Q: Does cointop work inside an emacs shell?

    • A: Yes, but it's slightly buggy.
  • Q: My shortcut keys are messed or not correct.

    • A: Delete the cointop config directory and rerun cointop.
      rm -rf ~/.cointop
  • Q: How do I display the chart for the highlighted coin?

    • A: Press Enter to toggle the chart for the highlighted coin.
  • Q: How do I change the chart date range?

    • A: Press ] to cycle to the next date range.

      Press [ to cycle to the previous date range.

      Press { to select the first date range.

      Press } to selected the last date range.

  • Q: What chart date ranges are supported?

    • A: Supported date ranges are All Time, YTD, 1Y, 6M, 3M, 1M, 7D, 3D, 24H, 6H, 1H.

      YTD = Year-to-date

Development

Go

Running cointop from source

make run

Snap

Building snap

make snap/build

Homebrew

Installing from source

make brew/build

License

Released under the Apache 2.0 license.

cointop's People

Contributors

miguelmota avatar popey avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.