Project

decent

0.01
No commit activity in last 3 years
No release in over 3 years
Decent is a command line application for managing cryptocurrency holdings.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 4.0
~> 4.0
~> 1.3
 Project Readme

decent

A command line application for managing cryptocurrency holdings.

Synopsis

I like doing things from the command line. And like any command line user worth their salt, I hodl some cryptocurrencies. I made decent so I can quickly, compulsively access exchange rates and address balances from my highfalutin terminal. Oh, and it's de-cent like de-cen-tra-lized, but I guess the synonym for mediocre works as well.

Whenever new data is pulled from the web, the outdated data is stored in historic tables which could be leveraged for investment strategy / world domination.

Currently (as of 0.1.3) supports Bitcoin (BTC), Ethereum (ETH), and Litecoin (LTC).

Install

$ gem install decent

Quickstart

$ decent

HODL

Note: The first time decent runs, it will create a SQLite3 database in your home directory like so: ~/.decent/decent.db

Commands

Update Exchange Rates

$ decent exchange_rate update

Current exchange rates for all currencies are pulled from Coinbase and stored with a timestamp. The previous values are copied to the historic_exchange_rates table.

List Exchange Rates

$ decent exchange_rate list

The most recently queried information for each exchange rate will be listed.

Add Hodling

$ decent hodling add

Creates a prompt asking for a nickname, address, and currency for a new hodling.

Update Hodlings

$ decent hodling update

Current balances for all locally stored address are pulled from APIs and stored with a timestamp. The previous values are copied to the historic_holdings table.

List Hodlings

$ decent hodling list

The most recently queried information for each locally stored hodling will be listed.

Show Hodling

$ decent hodling show -nickname NICKNAME

The most recently queried information for the hodling with nickname NICKNAME will be displayed, along with its value in USD based on the most recently queried exchange_rate for its respective currency.

Remove Hodling

$ decent hodling remove -nickname NICKNAME

The most recently queried information for the hodling with nickname NICKNAME will be removed, and that hodling will no longer appear in the holdings table. Related entries in the historic_holdings table will not be affected.

Schema

decent uses SQLite3.

holdings

`id` integer,
`nickname` varchar(255),
`address` varchar(255),
`currency` varchar(255),
`balance` doubleprecision,
`created_at` timestamp,
`updated_at` timestamp

historic_holdings

`id` integer,
`holding_id` integer,
`address` varchar(255),
`currency` varchar(255),
`balance` doubleprecision,
`recorded_at` timestamp
`created_at` timestamp

exchange_rates

`id` integer,
`currency` varchar(255),
`rate` doubleprecision,
`created_at` timestamp,
`updated_at` timestamp

historic_exchange_rates

`id` integer,
`exchange_rate_id` integer,
`currency` varchar(255),
`rate` doubleprecision,
`recorded_at` timestamp,
`created_at` timestamp

Donations

I'm not expecting any of these, but here are my public addresses :)

Bitcoin: 1MzRX52tmTqdaVbA4nPnbEVpoYgmP5e6dH

Ethereum: 0x11b91e4b6d0e149cbedc213c98d177ac0560abd9

Litecoin: LXq9vUheGADoSdyHY7HqKWhjixgzYLaJm4