Global API Node Infrastructure DHF Proposal v2 | Major API Expansion

image.png

What is this? What's an API node in the first place?

Hey everyone.

A little over a year ago, I created a proposal to help fund a global API node infrastructure. Since then, a lot of things happened, including a major war which changed a lot of things in the hardware industry. Especially the energy pricing. This resulted in most server providers worldwide increasing their prices as they did not want to shoulder the cost. As a result, the cost to operate an API node has increased substantially (for major nodes like mine) as the API traffic cannot be handled with a single node.

In case you do not know what an API node is, API servers are basically servers that "host" Hive, anyone with sufficient hardware can host one of these nodes and use it themselves for their projects or publicize it for the general public to use it for many reasons. App developers in development environments can use API nodes to develop their apps before deployment, bots can scrape data using the API, and the frontends like PeakD, Ecency and Hive.blog can fetch the posts and all comments using the API. Every single one of your transactions passes through an API node. Vote, transfer, Hive-Engine actions, posts, comments, are all broadcasted through an API node.

If the API node is closer to you, you get lower latency, everything feels faster and smoother. If we have lots of API nodes (and overall nodes) around the world, the usability and availability of Hive will increase substantially. P2P (Peer-to-Peer) protocol will have more nodes to communicate with, effectively increasing the decentralization and aiding in reducing overall network latency.

Who are you?

Hi, in case you do not know me. I am @deathwing -- I am currently a Top 20 consensus witness on Hive. I have lots of apps on Hive. @swaps, @FRIDAYbot, @bscbridge, @polygonbridge and recently, @rc-angel.

In late 2020, I started my own API node, it was honestly a shot at learning more about the inner workings of Hive and DevOps in general. I built my binaries, I read about Nginx, docker... the whole shebang. Back then, we did not have a lot of nodes on Hive. There were a few, but it was certainly not enough, nor powerful (and hosted on then-current gen hardware) -- within a few months after me starting my node, the traffic started increasing. People were utilizing it and giving me feedback about how fast it was and how it changed their "day-to-day use" on Hive.

In 2021, when I first created the proposal, I was not a Top 20 witness yet. The proposal's aim was simple. I wanted to expand the server availability to prepare for potential increases in server load and overall API traffic. As well as diversifying the hosts the servers were located in, just like the countries. Unfortunately, the proposal did not gather enough attention and support and fell through. It was a sad moment for me, but I had tried my luck.

A few months later, I managed to get into the consensus witness spot. Splinterlands had a major boom, more users started registering to Hive. We started to have more apps, more games, more everything. This increased the API traffic substantially to my nodes. As of writing this post, api.deathwing.me has served over 130k unique users in the last 30 days sharing over 12TB worth of data. Thanks to being in Top 20, I was able to fund the expansion necessary for optimal operation of api.deathwing.me and as we get closer to 2023, here we are.

So, what's the purpose of this proposal?

Simple, even more EXPANSION.

First of all, I will share two screenshots.

image.png

Above, is a server equipped with Ryzen 9 5950X and 128 GB RAM. This is how it looks like when the API traffic is not routed to the server. Ryzen 9 5950x is a 16 core, 32 thread powerhouse. Best in-class CPU, and yet, it is being maxed out.

image.png

This, is the same server, but with api.deathwing.me traffic being actively routed to it.

The current setup

Since the hardfork, api.deathwing.me operates on the latest version, the bleeding-edge HAF. Almost all API calls are served from HAF apps, such as HAFAH (HAF Account History) and HAF Hivemind (some WIP) this results in a high-performance API endpoint with the latest features available.

api.deathwing.me currently has 4 servers, all hosted on Hetzner, a server provider that had recently announced they are not supporting "cryptocurrency nodes" -- technically, this is a huge risk. While they haven't taken action against these nodes yet, there is no guarantee that they will not. The majority of the API nodes on Hive are hosted on Hetzner due to their price/performance ratio as well as server availability.

As of this post, api.deathwing.me is alive thanks to:

3x Ryzen 9 5950x with 128GB DDR4 RAM
1x Intel i9-12900k with 128GB DDR4 RAM

servers. Yes, the API node practically requires 4 best-in-class servers to operate. That's how much traffic there is :)

Other than the fact that the majority of Hive nodes are hosted under one provider, it is also hosted in one country, one continent. Germany and Europe, respectively. This means that users in North America, South America, Asia and Southeast Asia are getting a "relatively" subpar performance due to uncontrollable factors such as distance. The current internet technology that we have at hand does not really like the major distance difference between the user and the server.

The actual proposal

It has surely been a long read, but here is the kicker. I am going to upgrade and fix all the aforementioned problems once and for all. Here is a short version of it easy to understand.

  • Rather than renting servers, I am going to buy one and set them up in datacenters. This means that the machines will be fully-owned and not reliant on a provider to one day shut everything down, because they do not like crypto.
  • Having at least 1 server in each major continent, Americas, Europe and Asia. (scalable with usage) Lowering the latency, increasing the performance as well as decentralization.
  • Regularly maintain and upgrade the servers to newer technologies that could provide a better experience to users.
  • Ease of use for the users, a single URL api.deathwing.me to connect you to the closest, fastest node to you with the lowest latency.

This is, of course, a major undertaking with lots of associated costs. Logistics for the servers, cost for the hardware and maintenance all add up.

So, what I will be asking for this undertaking is 100 HBD/day from the DHF for the duration of one year and to be revised in a year.

The servers that will be funded with this proposal will be best-in-class in each region and just like now, will be running the latest HAF apps to have the highest possible performance on Hive.

Feedback

This was a very long write-up, and I am sure I have missed or forgot to tell about a few things I had in mind. If you have any questions, please feel free to ask them.

Vote for the proposal!

To vote through PeakD: Click here
To vote through Ecency: Click here
To vote through Hive.blog: Click here

Coming soon!

In fact, the NA server plans are already underway. More on that soon :)

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now