Full API Node Update - 31/5/2018

in #full-nodes6 years ago (edited)

image.png
source

Full API node update - 31/5/2018

@fullnodeupdate provides daily updates about the state of all available full API node server

What is a full RPC node and why it is necessary

A full RPC node contains all STEEM blocks and several databases, in which e.g. account-related transactions, followers foran account, all posts of a blog from an account, .... are stored. Without nodes, the steemit site would be down, there would be no bid-bots and services as steemauto.com or GINAbot would not work.

Complete RPC node list

All nodes have support for https://. For nodes with websocket support (WSS is yes), wss:// has to put in front. All which have websocketsupport are checked twice (1x https and 1x wss).
The node version was read out from the server itself, and when this was not possible (node did not respond) a question mark is shown instead.

ServerWSSRan ByInfo
steemd.privex.ioyesprivexpost
steemd.pevo.scienceyespharesimpost
rpc.steemliberator.comyesnetuosopost
rpc.buildteam.ioyesthemarkymarkpost
gtg.steem.house:8090yesgtgpost
api.steem.housenogtgpost
rpc.steemviz.comyesausbitbankpost
seed.bitcoiner.meyesbitcoinerlink
steemd.steemgigs.orgyessteemgigspost
steemd.minnowsupportproject.orgyesfollowbtcnewspost
rpc.curiesteem.comnocuriepost
appbasetest.timcliff.comyestimcliffpost
api.steemit.comnoSteemit Inc.-
api.steemitstage.comnoSteemit Inc.-
api.steemitdev.comnoSteemit Inc.-

api.steemitstage.com and api.steemitdev.com may contain newer node versions and should be used only with care.

get_config API call

This API call is available on 0.19.3 and 0.19.4 nodes.

List of nodes who did not answer

nodeerror
https://steemd.steemgigs.orgNumRetriesReached
wss://steemd.steemgigs.orgNumRetriesReached
https://seed.bitcoiner.meNumRetriesReached
wss://seed.bitcoiner.meNumRetriesReached
wss://rpc.steemliberator.comNumRetriesReached
https://rpc.steemliberator.comNumRetriesReached

List of working nodes

nodeduration [s]version
wss://rpc.steemviz.com0.600.19.3
wss://steemd.pevo.science0.680.19.2
wss://rpc.buildteam.io0.690.19.3
wss://steemd.privex.io0.720.19.3
wss://steemd.minnowsupportproject.org0.720.19.3
wss://appbasetest.timcliff.com0.810.19.4
https://api.steemitdev.com1.740.19.4
https://rpc.buildteam.io1.770.19.3
https://api.steemitstage.com1.830.19.4
https://api.steemit.com2.210.19.4
https://api.steem.house2.750.19.4
https://rpc.steemviz.com4.590.19.3
https://steemd.pevo.science5.540.19.2
https://steemd.minnowsupportproject.org9.500.19.3
https://steemd.privex.io10.110.19.2
https://appbasetest.timcliff.com11.130.19.4
wss://gtg.steem.house:809047.170.19.3
https://gtg.steem.house:809082.130.19.3
https://rpc.curiesteem.com115.750.0.0

Streaming blocks

In this test, it is measured how many blocks a node can stream in 60 seconds.

List of working nodes - block streaming

nodeN blocksDuration [s]
wss://steemd.minnowsupportproject.org384120.4
https://api.steemitstage.com186122.7
https://api.steemitdev.com186123.4
https://api.steemit.com181123.1
wss://gtg.steem.house:8090115131.8
https://api.steem.house101124.8
https://rpc.steemviz.com47126.9
https://rpc.buildteam.io42123.4
https://steemd.minnowsupportproject.org33134.1

Account history

In this test, it is measured how many account operation a node can stream in 60 seconds.

List of working nodes - account history

nodeN acc histDuration [s]
wss://rpc.steemviz.com56460121.9
wss://steemd.minnowsupportproject.org49895121.5
wss://steemd.privex.io48986121.5
wss://rpc.buildteam.io47976121.2
wss://steemd.pevo.science31311121.1
https://api.steemitdev.com30099121.6
https://api.steemitstage.com29190121.6
https://api.steemit.com24140121.4
https://rpc.steemviz.com16666121.6
https://api.steem.house15050121.1
wss://gtg.steem.house:809011919126.8
https://steemd.minnowsupportproject.org10606122.7
https://steemd.privex.io607139.8
wss://appbasetest.timcliff.com5667.3

Receiving a vote, a comment, and an account

In this test, the mean duration to receive an account, a comment, and a vote is measured.

List of working nodes - api calls

nodeDuration [s]
wss://appbasetest.timcliff.com-1.000
https://steemd.pevo.science-1.000
wss://steemd.pevo.science-1.000
wss://steemd.privex.io-1.000
https://appbasetest.timcliff.com-1.000
wss://steemd.minnowsupportproject.org0.052
wss://rpc.steemviz.com0.068
wss://rpc.buildteam.io0.126
wss://gtg.steem.house:80900.137
https://rpc.buildteam.io0.189
https://api.steemitdev.com0.223
https://api.steemit.com0.223
https://api.steemitstage.com0.226
https://api.steem.house0.304
https://gtg.steem.house:80900.393
https://rpc.steemviz.com0.719
https://steemd.privex.io1.349
https://steemd.minnowsupportproject.org1.636
https://rpc.curiesteem.com3.411

Summary of working nodes

A node is working, when:

  • returns data within 60 seconds,
  • blocks can be streamed,
  • account history is possible,
  • votes, a comment, an account can successfully be fetched and are not empty.
    The nodes in the following table are ranked by the mean rank of all three node tables shown above
nodeblock rankhist rankcall rank
wss://steemd.minnowsupportproject.org121
https://api.steemit.com266
wss://gtg.steem.house:8090394
https://api.steem.house487
https://rpc.steemviz.com579
https://steemd.minnowsupportproject.org71011

Set fully working nodes with beempy

https://api.steemitstage.com, https://api.steemitdev.com and nodes with not working results were excluded.

beempy set nodes ['wss://steemd.minnowsupportproject.org', 'https://api.steemit.com', 'wss://gtg.steem.house:8090', 'https://api.steem.house', 'https://rpc.steemviz.com', 'https://steemd.minnowsupportproject.org']

Receive fully working nodes from json_metadata

The nodes are also stored in the json_metadata variable in each post from @fullnodeupdate.
Example code for python:

from beem.account import Account
acc = Account("fullnodeupdate")
latest_post = acc.get_blog(limit=1, raw_data=False)[0]
nodes = latest_post.json_metadata["nodes"]
acc.steem.set_default_nodes(nodes)
Sort:  

@fullnodeupdate, I gave you an upvote on your first post! Please give me a follow and I will give you a follow in return!

Please also take a moment to read this post regarding bad behavior on Steemit.

Hi. Can you clarify what is tested for List of working nodes - block streaming? I don't see appbasetest.timcliff.com in the list.

Also, can you clarify what the numbers for appbasetest.timcliff.com mean in List of working nodes - account history compared to the other nodes?

I will try to improve the script and be more informative.
List of working nodes - block streaming is a list of all nodes who could stream at least one block in 60s.
wss://appbasetest.timcliff.com was able to do this, https://appbasetest.timcliff.com was to slow.

List of working nodes - account history is a list of all nodes who could stream at list one account operation in 60 s.

The -1 in List of working nodes - api calls means that the node was needing to long or the output was empty.

I will increase the timeout from 60 seconds to 120 seconds.

Do you like the general idea to automatically generate a node report in this place?

Yes, I see value in it.

are you sure the buildteam.io is not the cryptodrive , i didnt know the markymark got a node.