[Development] CryptoTools a tool aimed to aggregate cryptocurrency data

in #utopian-io7 years ago (edited)

New project

  • What will the project be about?

This project will consist of a suite of tools that will provide information about cryptocurrencies, their prices, market cap, ICOS, news about new apps based on blockchains, cryptocoins analyses with graphs and market estimation based on historical data. It will be available as a command-line interface tool and also as a web application. A future goal of the project is to become a testing platform for algorithms that aim at predicting the tendencies in the crypto market to improve investors' decision making.

Currently the project just gets information from CoinMarketCap about the currencies listed on their website (www.coinmarketcap.com) using their API. The information of one single or from many currencies can be retrieved using our linux command line tool by giving as input the cryptocurrencies' names, ids or their abreviation. Furthermore, a fiat alternative to the USD can be given as parameter to obtain the currencies' values relative to it.

To avoid surpassing the API's request limit, the retrieved data is cached for 120 seconds in a sqlite file located in the /tmp/ directory, which can be looked up from every part of the OS.

The tool will also gather information from many different sources to compare the data on real time and make analises and statistical graphs.

Technology Stack

This project is developed in python 3.6. It uses external libraries for making the requests and for caching repeated requests.

Roadmap

  1. Develop a parser for the CoinMarketCap website, using beatiful soup, in order to get numerical data for plotting tendencies graphs of the cryptocurrencies.

  2. Expand the tool to get market data from different exchanges like Kraken, hitBTC, Poloniex and CoinBase.

  3. Make concurrent requests to different cryptocurrencies websites possible by using asyncio to retrieve and filter the data.

  4. Graph retrieved exchange data, correlate the data of the different cryptocurrencies in order to make a profound analysis and to find patterns.

  5. Build a parser for websites containing crypotocurrencies news and information about blockchain based applications, taking into account their relevance and popularity.

  6. Create a graphical interface with flask and react to show the retrieved data.

  7. Test deep learning and machine learning algorithms to find patterns in the data.

Check the README.md file to know how to install.

Some examples

To use CryptoTools we write the following command:

CryptoTools -c coinName

For example, if we want to get the current value of Steem we write:

CryptoTools -c SBD

The output will be:

ex1.jpg

In case we want to obtain the value relative to an alternative fiat we write:

CryptoTools -c SBD -f EUR

ex3.png

With the following command we can obtain the criptocurrencies' global Market Cap:

CryptoTools -g True

ex4.png

We can give a list of cryptocurrencies as input (by name, id or abbreviation):

CryptoTools -cl SBD Ethereum Bitcoin ADA Monero -f BRL

ex6.png

The parameter -w can be provided as input to select what parser will be used for the different cryptocurrencies websites.

Contributing

Feel free to contribute by forking the GitHub Repo. Create a branch and make all the changes that you want. After finishing your changes create a pull request. Please provide detailed information for contributors about you and how they can get in touch with you.

Github profile



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Hey @cris22 I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Thank you! i will do some updates to support other platforms very soon.

Thank you for the contribution. It has been approved. Try to add the commits you have worked on for the contribution from next time.

You can contact us on Discord.
[utopian-moderator]

Hi, thank you for your feedback i will do it next time.

Congratulations @cris22! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

Click here to view your Board

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @cris22! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!