Updates on steem-python, SteemData, and the node situation
steem-python
Users of the Python Steem library ought to upgrade to zero.18.93 as before long as potential. This version comes with new fixes, one amongst that prevents indefinite behavior once all steemd nodes fail. it'll currently throw a SteemdNoResponse exception when exhausting machine-controlled failover and every one of two hundred retries (10 node failovers, twenty retries per node).
SteemData
I have been receiving a good quantity of complaints regarding SteemData state falling behind.
There square measure 2 ways that to remedy this issue:
1.) Write a high performance protocol -> websocket proxy [1], similarly as perform internal
state reconstruction to avoid querying steemd.
2.) Deploy a passionate, self-healing steemd cluster.
Needless to mention, each solutions square measure time and resource intensive, and sadly, I am not
abundant in either immediately.
Big due to @gtg for lease Pine Tree State use his personal steemd node(s), which, once on-line, keep SteemData in adjust.
Call for facilitate
Full rpc steemd nodes square measure a challenge to run. Currently, they need costly servers with 128GB of RAM, and regular baby-sitting. To my information, there are not any open solutions for managing steemd clusters . Such package would be a lot of appreciated, not solely by developers, however conjointly exchanges (currently, each Bitfinex and Poloniex have STEEM&SBD deposits/withdrawals frozen, as they're failing to tame resource hungry steemd [2]).
As nodes became more durable and dearer to run, community supercharged nodes disappeared.
Aside from @gtg's node, i'm not responsive to any public nodes. As so much as i do know, 2 of the simplest community developers, @jesta and @good-karma run their own. Steemit's nodes square measure usually slightly slow, and sometimes unreliable [3].
If we'd just like the Steem scheme to support third party apps and developers, we'd like higher infrastructure.
We need to make a node cluster that is:
worldwide distributed, with geo-location based mostly load reconciliation
scalable, overtly monitored, and self-healing (trough machine-controlled redress workflows)
capable of running on all servers, and not barred right down to one merchandiser like AWS
There several proficient individuals in our community, and that i hope we are able to tackle this challenge.
[1] Steemit is already working on one, jussi
[2] The reason for the downtime is speculative.
[3] Based on my experience with extended usage of their nodes for SteemData and Witness Tools.