Python STEEM-developer poll: Which txjsonrpcqueue development should I prioritize

Asked by mattockfs Promote - View in Hive.blog - Audit

Due to the rate-limiting implementation of Steemit-INC, development on the txjsonrpcqueue has been stalled for a bit, awaiting an actually API extension for rate limiting that so it seems might not ever get introduced.

I am about to pick up development again, but I would like to prioritize my development efforts based on the wishes of existing asyncsteem users and of potential new txjsonrpcqueue users.

The txjsonrpcqueue library is a Python library that aims to be a more portable rewrite of the asyncsteem library. The libraries are ment for writing asynchonous Python applications. Where asyncsteem is a Python2 library that works with the Twisted asynchonous framework, the txjsonrpcqueue is being made to work with both Python2 and with Python3. And ultimately with both the Twisted framework (on Python2 and Python3), and with Asyncio (Python3).

There are currently six main items on my todo list:

Continuous node probing

I've done some work on a (currently still Twisted only) version of continuous API node-probeing for txjsonrpcqueue. The idea is that the library sends a number of API requests to all known full-API nodes every 10 minutes, and based on the results, and the desired sub-API's, picks the currently best node to do its regular JSON-RPC queues through. Expending on this, the library should automatically switch to the fastest error-free API-node available at any time.

Naive rate limiting.

Steemit INC has implemented API rate limiting without any actual API hooks or rate-limiting HTTP header fields. I could implement a naive rate-limiting implementation to work around this by simply assuming batch requests should be spaced at least n seconds apart.

Robust portability between Twisted/Asyncio and Python2/3

Currently the HTTP part of the Twisted/Asyncio portability isn't truly extendable. Fixing the HTTP core code to be portable more cleanly should allow quicker development of new portable code.

Backwards Compatibility layer

Currently txjsonrpcqueue is not high-level API-compatible with the asyncsteem library. Adding a compatibility layer to the library could allow portability of asyncsteem based DApps to txjsonrpcqueue.

Signed operations

Currently neither asyncsteem nor txjsonrpcqueue implements signed operations.

Easy integration of cookie-attribution based authentication

For DApps that don't need to use signed operations but would like to authenticate users with micro transactions or client side custom_json operations, integration of cookie-attribution based authentication could provide an easy way to authenticate users.

As a Python dev: Please help me prioritize by voting for one or more of my TODO items.

You need to be logged in to vote for the polls. Click to log in via HiveSigner.

Continuous node probing (83.33%) 5 / 6
83.33% Complete (success)
Naive rate-limiting (16.67%) 1 / 6
16.67% Complete (success)

Available Filters

Minimum Reputation
Minimum SP
Minimum account age (Days)
Minimum post count
Result layout Community