ASYNCSTEEM
The asyncsteem library is a Twisted-based asynchronous python library for interacting with STEEM JSON-RPC API nodes. The library aims for minimal dependancies and minimal boilerplate code requirements for writing simple bots or statistics gathering cron jobs.
Currently, the library supports only unsigned operations (no votes, comments, etc), but these are planned for the 0.7 version of the library.
The library is being designed with asynchronous networking in mind, You can either use the low level RpcClient API, that implements a command queue based interface that uses both parallel HTTPS POST operations, and (if "stage" is selected as nodeset), JSON-RPC batch operations, or you can use the higher level ActiveBlockchain API that allows you to write a simple bot class that implements methods for those operations that your bot requires to do its work. The use of the ActiveBlockchain API is meant to minimize required boilerplate code for writing simple bots.
Technology stack
The technology stack for *asyncsteem currently consists of Python 2.7 and the asynchonous Python framework Twisted. The library will talk to the STEEM network through JSON-RPC API nodes.
Roadmap
The roadmap for the project is currently planned as followes:
- Today the 0.5 version was released. This version includes properly documented code and an install script.
- The next step will be extensive testing and bug fixing (if needed). The @pibarabot Watching The Watchers bot shall be ported from steem-python to asyncsteem, and shall, in the 0.6 version of asyncsteem be published as an example bot. It is hoped that running this bot for a few weeks will tease out any remaining bugs in the current code base.
- The one big feature planned for version 0.7 will be signing of operations. This should allow for a wider range of bots to be created with asyncsteem, as this will allow voting, flagging and posting content.
- The rest of the roadmap hasn't completely solidified yet, there are some more advanced operations needed such as posting with beneficaries and downvoting with a guarantee to never cut into the reputation of the downvoted party, and there is the desire to also support python 3 in a post 1.0 version.
How to contribute?
Pull requests with bug fixes or listed issues are very much welcomed, but the most important contributions I'm currently looking for are people who give the current, early, version a bit of a spin and report any issues they run into. Feature requests are also welcomed. Please use the github issue tracker to submit your issues to the project. Oh, and if you take the library for a spin and you don't run into problems, consider writing a short howto to help other potential users. If you have any questions regarding the use of asyncsteem, this discord server is meant for anything you don't want to communicate through github issues.
Posted on Utopian.io - Rewarding Open Source Contributors