Full API Node Update - 7/6/2018

in #full-nodes4 years ago

image.png

Full API node update - (7/6/2018)

2018-06-06T18:00:03 - 2018-06-07T18:00:02)
@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 for an 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 utopian-io, 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 websocket support 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 failing nodes

This table includes a list of all nodes which were not able to answer to a get_config api call within 30 seconds.

nodehours with failurepercentage
wss://rpc.steemviz.com1/234.3 %
https://rpc.steemviz.com1/234.3 %
https://gtg.steem.house:80901/234.3 %
https://rpc.curiesteem.com2/238.7 %
https://steemd.steemgigs.org23/23100.0 %
wss://steemd.steemgigs.org23/23100.0 %
https://seed.bitcoiner.me23/23100.0 %
wss://seed.bitcoiner.me23/23100.0 %
wss://rpc.steemliberator.com23/23100.0 %
https://rpc.steemliberator.com23/23100.0 %
https://api.steemitdev.com3/2313.0 %
https://appbasetest.timcliff.com23/23100.0 %
https://steemd.privex.io12/2352.2 %
wss://appbasetest.timcliff.com23/23100.0 %

List of working nodes (At least once in the last 24h)

nodemin. time [s]max. time [s]version
wss://rpc.steemviz.com0.191.010.19.3
wss://steemd.minnowsupportproject.org0.232.240.19.3
wss://steemd.pevo.science0.257.630.19.2
wss://steemd.privex.io0.3163.000.19.2
wss://rpc.buildteam.io0.331.260.19.3
https://api.steemit.com1.631.820.19.4
https://rpc.buildteam.io1.1133.950.19.3
wss://gtg.steem.house:80900.57100.890.19.3
https://api.steem.house2.813.780.19.4
https://rpc.steemviz.com4.5613.690.19.3
https://steemd.minnowsupportproject.org9.079.600.19.3
https://steemd.pevo.science3.4814.900.19.2
https://gtg.steem.house:80906.58103.550.19.3
https://rpc.curiesteem.com8.28111.420.19.3
https://api.steemitdev.com1.736.820.19.4
https://steemd.privex.io12.09118.630.19.3

Streaming blocks

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

List of working nodes - block streaming

This table includes all nodes which were able to stream at least one block within 30 seconds.
The achieved minimum and the maximum blocks per seconds values are shown.

nodemin. block/smax. block/s
wss://rpc.steemviz.com7.615.8
wss://steemd.minnowsupportproject.org12.415.8
wss://steemd.pevo.science9.315.6
wss://steemd.privex.io3.415.4
wss://rpc.buildteam.io7.012.6
https://api.steemit.com2.83.1
https://rpc.buildteam.io0.21.6
wss://gtg.steem.house:80900.14.2
https://api.steem.house0.91.0
https://rpc.steemviz.com0.40.5
https://steemd.minnowsupportproject.org0.20.2
https://steemd.pevo.science0.10.2
https://gtg.steem.house:80900.00.6
https://rpc.curiesteem.com0.00.2
https://api.steemitdev.com2.33.1
https://steemd.privex.io0.00.0

Account history

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

List of working nodes - account history

This table includes all nodes which were able to stream at least one account history operation within 30 seconds.
The achieved minimum and the maximum account transaction per seconds values are shown.

nodemin. hist/smax. hist/s
wss://rpc.steemviz.com389.6631.7
wss://steemd.minnowsupportproject.org382.4916.8
wss://steemd.pevo.science179.7619.4
wss://steemd.privex.io269.4811.8
wss://rpc.buildteam.io307.8779.0
https://api.steemit.com186.3301.2
https://rpc.buildteam.io21.1451.3
wss://gtg.steem.house:809030.4335.7
https://api.steem.house109.3132.1
https://rpc.steemviz.com133.6167.5
https://steemd.minnowsupportproject.org46.871.3
https://steemd.pevo.science30.554.8
https://gtg.steem.house:80900.075.5
https://rpc.curiesteem.com3.665.8
https://api.steemitdev.com206.7317.6
https://steemd.privex.io4.012.2

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

This table includes all nodes which were able to answer all three api calls within 30 seconds.
The achieved minimum and the maximum mean time durctions are shown.

nodeMin. time [s]Max. time [s]
wss://rpc.steemviz.com0.0340.163
wss://steemd.minnowsupportproject.org0.0450.295
wss://steemd.pevo.science0.0390.269
wss://steemd.privex.io0.0360.137
wss://rpc.buildteam.io0.0490.215
https://api.steemit.com0.4010.506
https://rpc.buildteam.io0.3671.074
wss://gtg.steem.house:80900.1603.976
https://api.steem.house1.0461.540
https://rpc.steemviz.com1.8042.599
https://steemd.minnowsupportproject.org3.6004.115
https://steemd.pevo.science1.9305.222
https://gtg.steem.house:80901.24123.445
https://rpc.curiesteem.com3.62040.480
https://api.steemitdev.com0.4080.477
https://steemd.privex.io3.85624.818

Summary of working nodes

A node is working, when it could fullfil at least once in the last 24h the following conditions:

  • returned data within 30 seconds,
  • blocks could be streamed,
  • account history was possible,
  • votes, a comment, an account could successfully be fetched and were not empty.

The nodes in the following table are ranked by the mean rank of all three node tables shown above.
This table includes only nodes which were passing all three tests sucessfully.

nodeblock rankhist rankcall rankscore
wss://rpc.steemviz.com312152.5
wss://steemd.minnowsupportproject.org124147.5
wss://steemd.pevo.science433135.0
wss://rpc.buildteam.io255132.5
wss://steemd.privex.io541115.0
https://api.steemit.com668107.5
https://rpc.buildteam.io87990.0
https://api.steemitdev.com715685.0
https://api.steem.house991082.5
wss://gtg.steem.house:8090128770.0
https://rpc.steemviz.com10101170.0
https://steemd.minnowsupportproject.org13111350.0
https://steemd.pevo.science14121250.0
https://gtg.steem.house:809011131440.0
https://rpc.curiesteem.com15141522.5
https://steemd.privex.io16161610.0

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://rpc.steemviz.com', 'wss://steemd.minnowsupportproject.org', 'wss://steemd.pevo.science', 'wss://rpc.buildteam.io', 'wss://steemd.privex.io', 'https://api.steemit.com', 'https://rpc.buildteam.io', 'https://api.steem.house', 'wss://gtg.steem.house:8090', 'https://rpc.steemviz.com', 'https://steemd.minnowsupportproject.org', 'https://steemd.pevo.science', 'https://gtg.steem.house:8090', 'https://rpc.curiesteem.com', 'https://steemd.privex.io']"

Receive fully working nodes from json_metadata of the @fullnodeupdate account

The nodes are also stored in the json_metadata variable of the @fullnodeupdate account.
The nodes inside the account metadata are updated every hour.
The json_metadata includes the following data:

  • nodes - list of nodes that passed all tests.
  • failing_nodes - list of nodes that did not answer the get_config call.
  • report - test results.
  • parameter - used beem and test parameter.

Example code for python:

from beem.account import Account
import json
acc = Account("fullnodeupdate")
nodes = json.loads(acc["json_metadata"])["nodes"]
acc.steem.set_default_nodes(nodes)

If you like what I'm doing, please consider @holger80 as one of your witnesses.You can use steemconnect.com for approve your vote or go to https://steemit.com/~witnesses and enter my name into the vote field:


image.png



image source

Coin Marketplace

STEEM 0.18
TRX 0.05
JST 0.022
BTC 17008.20
ETH 1259.15
USDT 1.00
SBD 2.11