Background image generated using stable-diffusion-discord-bot, model: deliberate_v8.
Since my previous analysis that I posted over 2 years ago, 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 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 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*1 | 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. |
*1api.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. Some might be interested in this README 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 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.
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, 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.
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
Everything you do with a public API node is publicly available. You should never have to "trust" any of them to begin with.
Well yes, what goes on the blockchain stays on the blockchain.
The API request logs that contain other info such as your IP address (which are not part of transactions) are entirely up to the node operators to decide what to do with them.
Congratulations @techcoderx! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)
Your next target is to reach 24000 upvotes.
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Check out our last posts:
Support the HiveBuzz project. Vote for our proposal!