Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Retrieving crypto data from complementary data aggregation services? #266

Open
yohplala opened this issue Jul 28, 2020 · 4 comments
Open

Retrieving crypto data from complementary data aggregation services? #266

yohplala opened this issue Jul 28, 2020 · 4 comments

Comments

@yohplala
Copy link

@yohplala yohplala commented Jul 28, 2020

Hi,

Currently, cryptofeed is managing data coming from exchanges.
Please, is there any contraindication for proposing new data feeds like CoinMarketCap, CoinGecko, Nomics...
From these data feeds, I would like to get complementary 'global' crypto data like circulating supply, global trading volumes, dominance...

Could related PRs be accepted in cryptofeed?
If yes, what would be your recommandations?
I see 3 main points:

  • switching from 'exchange' to 'feed' or creating a new type of feed like 'aggregator' (I come from cryptostore, and did not start to have a look into cryptofeed sources. I am referring here to a choice of words :)).
  • introducing 'single' asset (not pairs)
  • new data types: circulating_supply, trading_volume, dominance...

Thanks for your feedbacks.
Have a good day,
Bests,

@olibre
Copy link
Contributor

@olibre olibre commented Jul 28, 2020

I am thinking about how we could handle this exciting new feature...

🤔

Maybe we could add a folder called aggregators next to exchanges.
The global name for both could be platform:
the source platform can be an aggregator or an exchange.

I would also rename exchange -> market in reference to a market place.
because some exchanges (Binance) provide several market places (Binance US, Binance Jersey..)

We can also rename pair -> symbol:
a Ticker Symbol is the short name of an instrument.

A symbol can be

  • a pair of crypto currencies
  • a future
  • an option
  • a perpetual
  • and the circulating_supply, global trading_volume, dominance proposed by @yohplala
  • ... Five years later...
  • a token, a smart contract, a digital asset...

Please suggest @yohplala some symbol names.
For example, based on https://api.coingecko.com/api/v3/global
we may have "BTC-MarketCap": 29919599.687056687

@yohplala
Copy link
Author

@yohplala yohplala commented Jul 28, 2020

@olibre
Thanks for providing 1st thoughts on this.

Hmm, I would not remove the notion of data_type.

  • a pair has several data_type: l2_book, trades, tickers...
  • in the same way, a crypto has several 'global data', as shortly listed: circulating_supply, trading_volume, dominance

Obviously, there can be several others, like all the on-chain indicators computed by Glassnode, but to be honest, the first three above are the ones that interest me the most at present time :)

@bmoscon, any contraindication regarding such features? More specifically, do you intend to restrict cryptofeed usecase on exchanges, or will you accept PRs for extending the type of seeds such as the ones given above?

Thanks for your feedback,
Have a good day,
Bests,

@bmoscon
Copy link
Owner

@bmoscon bmoscon commented Jul 31, 2020

why would you need to switch anything? You can create a new class (DataFeed) that mirrors the minimum requirements for interfacing with the feed handler (would need a subscribe method).

@yohplala
Copy link
Author

@yohplala yohplala commented Jul 31, 2020

@bmoscon
Thanks Bryant! So my understanding is that you have nothing against integrating such a new type of data feed. Great!
I still have a new feature to workout for Cryptostore in the coming weeks.
I should then be able to have a look to this topic in the coming weeks!
Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.