[Development] CryptoTools a tool aimed to aggregate cryptocurrency data
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
Develop a parser for the CoinMarketCap website, using beatiful soup, in order to get numerical data for plotting tendencies graphs of the cryptocurrencies.
Expand the tool to get market data from different exchanges like Kraken, hitBTC, Poloniex and CoinBase.
Make concurrent requests to different cryptocurrencies websites possible by using asyncio to retrieve and filter the data.
Graph retrieved exchange data, correlate the data of the different cryptocurrencies in order to make a profound analysis and to find patterns.
Build a parser for websites containing crypotocurrencies news and information about blockchain based applications, taking into account their relevance and popularity.
Create a graphical interface with flask and react to show the retrieved data.
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:
In case we want to obtain the value relative to an alternative fiat we write:
CryptoTools -c SBD -f EUR
With the following command we can obtain the criptocurrencies' global Market Cap:
CryptoTools -g True
We can give a list of cryptocurrencies as input (by name, id or abbreviation):
CryptoTools -cl SBD Ethereum Bitcoin ADA Monero -f BRL
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.
Posted on Utopian.io - Rewarding Open Source Contributors
Hey @cris22 I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
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
Very nice
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
Congratulations @cris22! You received a personal award!
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!