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

in #dpoll5 years ago (edited)

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


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.


  • Continuous node probing

  • Naive rate-limiting

  • Robust portability between Twisted/Asyncio and Python2/3

  • Backwards Compatibility layer

  • Signed operations

  • Easy integration of cookie-attribution based authentication

Answer the question at dpoll.xyz.

Sort:  

Voted for

  • Continuous node probing

Thanks for contributing to the dPoll content.

You have been upvoted from our community curation account (@dpoll.curation) in courtesy of This Guy... @bluerobo.

Come, join our community at dPoll discord server.


If you want to support dPoll curation, you can also delegate some steem power. Quick steem connect links to delegate:
50SP | 100SP | 250SP | 500SP

Voted for

  • Continuous node probing

Voted for

  • Continuous node probing

Voted for

  • Continuous node probing

Voted for

  • Naive rate-limiting

.

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 64266.94
ETH 3077.24
USDT 1.00
SBD 3.87