State of Hive API nodes (as of February 2023)
node·@techcoderx·
0.000 HBDState of Hive API nodes (as of February 2023)
<center> *<sup>Background image generated using [stable-diffusion-discord-bot](https://github.com/ausbitbank/stable-diffusion-discord-bot), model: [deliberate_v8](https://civitai.com/models/5585/deliberate-for-invoke).</sup>*</center> Since my previous analysis that I posted over [2 years ago](https://peakd.com/dev/@techcoderx/techcoderx-com-api-is-fully-back), it would be interesting to re-evaluate the current state of public API nodes most of us reading this use today. # Why is this important At this point in time, these nodes allow users to interact with Hive (whether it is loading some feeds or making a transaction) without syncing up `hived` and the relevant HAF apps (e.g. HAfAH, Hivemind) on localhost. Without them, it will not be user friendly to interact with the network and you will not be reading this at all. The previous analysis has shown that Hetzner was the dominant host for these types of nodes. They recently [banned](https://www.reddit.com/r/ethstaker/comments/ykge6k/hetzner_just_kicked_off_all_solana_nodes_hosted) all forms of crypto related nodes from the host (including trading bots). # Disclaimer This analysis only covers publicly accessible nodes listed in [PeakD beacon node list](https://beacon.peakd.com) that most interfaces and apps use. It does not cover any other nodes that are not listed there. Therefore, it does not represent the state of the network as a whole. It is important to emphasize that the use of any public nodes listed below that you do not control are governed by the terms set by the respective node operators. **Not your node, not your rules**. # Overview 13 API nodes are currently online and accessible across 6 hosts (excluding Cloudflare) as of writing this, which is a decline in 1 node since the previous analysis. Additionally, 4 API nodes in the beacon node list are currently unavailable, bringing the total number up to a total of 17 listed nodes. This is a decline of 2 nodes since the previous analysis. # The Hosts The DNS lookup results below may not be accurate as it may not reflect the actual host used by the respective node operators. Certain nodes like mine are hosted in residential network connection with reverse proxy running in the datacenter for accessibility and DDoS protection. #### Available Nodes |Node|Country|Region|City|ISP| |-|-|-|-|-| |hive.roelandp.nl|United States|Virginia|Ashburn|Amazon.com, Inc.| |rpc.ecency.com|Canada|Ontario|Toronto|Cloudflare, Inc.| |rpc.mahdiyari.info|Canada|Ontario|Toronto|Cloudflare, Inc.| |api.hive.blue|Finland|Uusimaa|Helsinki|Hetzner Online GmbH| |hive-api.3speak.tv|Finland|Uusimaa|Helsinki|Hetzner Online GmbH| |hived.emre.sh|Germany|Saxony|Falkenstein|Hetzner Online GmbH| |api.deathwing.me<sup>*1</sup>|United States|California|Fremont|Hurricane Electric LLC| |techcoderx.com|Singapore|North West|Singapore|Linode, LLC| |hive-api.arcange.eu|Belgium|Flanders|Zaventem|OVH ISP| |anyx.io|Canada|Quebec|Beauharnois|OVH SAS| |api.hive.blog|Canada|Quebec|Beauharnois|OVH SAS| |api.openhive.network|Poland|Lower Silesia|Wroclaw|OVH SAS| |api.c0ff33a.uk|United States|California|San Jose|Misaka Network, Inc.| <sup>*1</sup>api.deathwing.me API clusters are also located in the EU and Singapore. The Singapore cluster doesn't seem to be online yet at the time of writing this. #### Unavailable/Unusable Nodes |Node|Country|Region|City|ISP| |-|-|-|-|-| |hiveapi.actifit.io|United States|New Jersey|Newark|Cloudflare, Inc.| |rpc.ausbit.dev|United States|New Jersey|Newark|Cloudflare, Inc.| |api.pharesim.me|Finland|Uusimaa|Helsinki|Hetzner Online GmbH| |hived.privex.io|Germany|Saxony|Falkenstein|Hetzner Online GmbH| The node count on Hetzner has reduced from 12 to 3 (up to 5 if it is real host behind the Cloudflare'd endpoints). This is largely due to certain nodes going offline, not existing node operators moving to another provider. Some of the newer API nodes are put behind Cloudflare, which means users of these nodes (along with any frontends that also uses Cloudflare) are subject to Cloudflare's [Privacy Policy](https://www.cloudflare.com/privacypolicy). Some might be interested in [this README](https://framagit.org/dCF/deCloudflare/-/blob/master/README.md) about the criticisms of the service. The geographical locations of the nodes remains mostly the same, largely in the EU and some in North America and SE Asia. Node presence is definitely missing in Latin/South America and Africa where a lot of Hive users come from (some data on this will greatly help). # Performance The 60 API call [benchmarker](https://github.com/techcoderx/hiverpc-resources/blob/main/benchmarker/benchmark.js) has been ran on the 13 nodes from servers across 3 different regions. Nodes that are consistently returning more than 5 errors are omitted from the charts below. Localhost endpoint added for control. These results are not comparable with previous results due to host and Hive software changes over time. |||| |-|-|-| |<center>SE Asia</center>|<center>West USA</center>|<center>Sweden</center>| It is clearly seen that most Hive nodes have the lowest response times in the EU due to the concentration of nodes there. The results for EU servers from Sweden are mostly margin of error due to excellent peering with Privex's SE datacenter and the EU hosts. Running the benchmark in West USA has shown that nodes located in North America perform the best there, with an exception of nodes behind Cloudflare. The Cloudflare'd nodes definitely shined in node-scarce regions, but with a requirement that you trust Cloudflare with your API requests when you use them. That is until it gets to a very nearby API node that isn't using Cloudflare such as mine that still smoked everything else. # Conclusion Other than a few nodes that have gone offline, the Hetzner crypto ban did not do much to spread out Hive API nodes so far, resulting in not-so-good UX in node-scarce regions. Hetzner no longer having the dominance here is still a good sign, however. There is still quite a bit to do when it comes to improving Hive API response times around the world. A feed or post taking over a few seconds to load will cause [significant abandon rates](https://www.bitcatcha.com/blog/6-reasons-why-website-speed-matters-how-amazon-would-lose-1-6-billion-if-it-slowed-down), meaning losing out on potential Hive users. Cloudflare might help a bit here with trust assumptions and assuming that it doesn't [go down which can do more harm than good](https://framagit.org/dCF/deCloudflare/-/blob/master/readme/en.md). # Server resource statistics #### hived (v1.27.3, 2a79d97f, all plugins) `block_log` file size (compressed): 389 GB `block_log.artifacts` file size: 1.7 GB `shared_memory.bin` file size: 21 GB #### HAF db All HAF apps (including Hivemind) belong to individual schemas in a single PostgreSQL database. This section shows the sizes of each schema in the database using the following query: ``` SELECT schemaname, pg_size_pretty(SUM(pg_total_relation_size(relid))) AS total_size, pg_size_pretty(SUM(pg_table_size(relid))) AS table_size, pg_size_pretty(SUM(pg_indexes_size(relid))) AS indexes_size FROM pg_catalog.pg_statio_user_tables GROUP BY schemaname; ``` ###### Output ``` schemaname | total_size | table_size | indexes_size --------------+------------+------------+-------------- hivemind_app | 663 GB | 348 GB | 315 GB hive | 3422 GB | 2269 GB | 1153 GB hafah_python | 16 kB | 16 kB | 0 bytes (3 rows) ``` #### Overall Postgres database RAM usage: 50 GB Compressed disk usage: 1.6 TB Compression ratio: 2.50x <hr> <center>[](https://hivesigner.com/sign/account-witness-vote?witness=techcoderx&approve=1)</center>
👍 techcoderx, oneloveipfs, joeyarnoldvn, hive-134220, onelovedtube, gaborockstar, jeffmcmullen, darkfuseion, gisi, joeytechtalks, qila, icepee, dlike, cowboysblog, iamangierose, walterprofe, zeruxanime, barbyjr, actordontee, silasvogt, happymichael, originalmrspice, illuminationst8, brettblue, reality-variance, toddmck, certain, davixesk8, gabrieljr, hive-117638, enginewitty, rumplestiltskin, steemitcomics, anomallies, psyborg, antdroid, hazem91, katrina-ariel, monchhichi23, lunamoon, khaldeesi, freyamber, allied-mafia, steemforschool, steemforschools, angeltree, christmasclub, birthdaywishes, wittys.angels, angiel, sassafrass, communityunity, bellelynn, b34w0lf, wittysangels, gabbyg86, portugalcoin, killerwhale, x40l1n, newigennity, w1tty, thesummoner, r-e-d, butthugs, lord-of-the-d, steemforsteem, toonuts, twonuts, boobnugs, letlove, sexualtendencies, itwasme, theblooded, blooded, theclan, youdo, bi0digital, silvergoldbotty, chain.games, superbad, publicview, sbi4, sbi-tokens, sneakyninja, mastergerund, thedailysneak, babysavage, ravensavage, cryptoknight12, dr460n3y3, vetfunding, getron, silwanyx, edian, humanearl, iamleicester, neopatriarch, jonela, agro-dron, sku77-poprocks, crowbarmama, brainpod, smacommunity, st3llar, adventuroussoul, jeronimorubio, raoufwilly, shermanedwards, amymya, vaultec, camuel, openmind3000, schlafhacking, tonysayers33, aperterikk, mahdiyari, hijosdelhombre, nanggroe1, philipp87, rencongland, gifty-e, felix.herrmann, mightpossibly, fredhill, captainbob, borislavzlatanov, fw206, simplegame, kamilla19, mytechtrail, bluerobo,