benmarten / cryptoetf Goto Github PK
View Code? Open in Web Editor NEWPortfolio Overview Tool for Your CryptoCoin Capitalization-Weighted Portfolio.
License: Apache License 2.0
Portfolio Overview Tool for Your CryptoCoin Capitalization-Weighted Portfolio.
License: Apache License 2.0
Add an option to exclude 0 or very small amount for the "Exchange" column
Came across HodlBot and it reminded me of this repo.
I can understand you don't want this here in the issues, in that case I'm sorry and delete me :-) The similarity in functionality is just so close, I thought it could help some people out.
API keys are entered:
TypeError: Cannot read property 'reduce' of undefined
at Function.forEachPromise (CryptoETF-master/dist/PromiseUtils.js:26:20)
at Function.getBalance (CryptoETF-master/dist/model/CoinbaseWallet.js:34:36)
at CryptoETF-master/dist/index.js:32:58
at
Error getting data, retrying..
Some of us don't like to keep our coins on exchanges as they have a history of being hacked.
It would be cool to be able to track the balance/price of paper wallets and application wallets by address.
Many coins have block websites with public APIs that we can use to fetch the balance by address. For example, Ethereum has: https://etherscan.io/apis#accounts
And bitcoin has: https://blockchain.info/api/blockchain_api
This would be a convenient feature for miners and security conscious HODLers alike.
I've been looking today for a general purpose JS library that would allow me to:
CryptoETF looks like it has functionality to achieve the first goal already. However, it has been packaged with a CLI frontend. It seems like it may reach a wider audience if the Node library API was moved into a separate project and documented.
This would allow reuse in more than one frontend. React web frontends, for example.
How do I add an exchange?
I'd like to add Cryptopia so I can view the current market price of HUSH: https://www.cryptopia.co.nz/api/GetMarket/5209
I would like and expect to see the total amount for any coin to include any amounts in pending trades. Seems to be a little inconsistent too as GDAX seems to do this but Binance does not. Curious if this is an API limitation or expected behavior or what.
If I understand correctly, setting minValueBtc
makes CryptoETF ignore coins which have a value under a certain threshold. Good for ignoring dust or coins with zero balance. Much like the "Hide 0 Balances" option on Poloniex' balance page.
However, I am doubting whether minValueBtc
is doing what it says it does. The only time it is checked (as far as I can tell) is by updateHighestRankWithBalance()
. This means that despite having minValueBtc
set, coins with a value below minValueBtc
are still displayed.
https://github.com/ccxt/ccxt
ccxt is an actively developed robust api wrapper, it would be worth to use to implement other exchanges fast
Right now, you're using await
for each integration (and coinmarket), wouldn't it be better to run all the integrations async, and wait for all of them to finish?
npm ERR! code E404
npm ERR! 404 Not Found: pinkie-promise@https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz
I believe it has to do with this:
TypeError: Cannot read property 'italic' of undefined at Coin.getExchangesString (CryptoETF/dist/model/Coin.js:156:61)
› node sample
Retrieving Coinmarketcap statistics...
TypeError: _Portfolio2.default.getOutput is not a function
Looking at https://github.com/benmarten/CryptoETF/blob/master/src/model/Portfolio.js there seems to be no getOutput
function. Was that removed and should some other function be called there?
Hi @barryvdh! I saw you pushed some commits directly to master. Unfortunately I had to revert them, pushing a new release...
I generally follow the git flow practice for this repo. Hence all new commit should go to the develop branch first. Then for a new release I follow this: https://github.com/benmarten/CryptoETF/blob/develop/README.md#releasing
This will create nice tags, and once the commit messages are in the conventional changeling style (https://www.npmjs.com/package/conventional-changelog-cli), they will show up nicely in the CHANGELOG: https://github.com/benmarten/CryptoETF/blob/master/CHANGELOG.md done via: https://github.com/benmarten/CryptoETF/blob/master/package.json#L30
So please feel free to commit your fixes again to develop. Unfortunately I lost them, after I realized they were in master.... Sorry about that ;)
On some of the exchanges supported we are also able to hold fiat currencies. I think it would be a nice addition to see these fiat currencies in the portfolio too. They wouldn't participate in the market allocation obviously but as an alternative to targetValueUsd
we could set a targetValuePerc
relative to the total portfolio's value.
It would be a great addition if it were possible to setting the target allocation percentage per coin manually (through an array in settings.json
maybe) instead of deriving it from the market share.
Personal APIs are now required for coinmarketcap so the code should be modified to allow the use personal APIs in coinmarketcap so that the rest of the code can be up to date.
Can't see HUSH when added to otherHoldings.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.