huwwp / cryptop

command line crypto portfolio
MIT License
235 stars 40 forks source link

Exchange support #41

Open titusz opened 7 years ago

titusz commented 7 years ago

Not sure if this is wanted but gave it a try anyway. This pull request adds optional support to fetch real-time balances from exchanges (Poloniex, Bitfinex, Bittrex). It sums together all the balances from the different configured exchanges and displays them together with your manually added balances. It is coded minimally invasive and tries to stay faithful to the hackisch code style :).

titusz commented 7 years ago

Added threading so exchange balance updates don´t freeze curses

huwwp commented 7 years ago

Sorry for the late reply, been very busy. One of my design goals behind cryptop was not storing any personal data beside holdings (which is fairly worthless, could be dummy data, placeholders, etc).

Then again this PR's features are optional and I think most people who generate exchange API keys would understand the risks.

I'll leave this here while I think about it, give other people a chance to weigh in.

titusz commented 7 years ago

Yes that is an important point to consider. If this is to be merged we should add a security warning about responsible handling of api-keys. Most exchanges allow you to setup read only api-keys. This will reduce risk to leaking your exchange balances. Another option would be to store the api secrets in the system keyring. For example with https://pypi.python.org/pypi/keyring . But than again if your system is compromised there is not much you can do to secure the keys. Third option would be to store the api secrets encrypted and ask for a password every time a user launches it. Let me know if you consider merging this and you want some additional changes before doing so.

rewtraw commented 7 years ago

I would like this feature, knowing the risks involved! +1

archienorman11 commented 6 years ago

+1