DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

extrnode | Powered by Everstake
extrnode | Powered by Everstake

Posted on • Updated on

Introducing extrnode: An Open-Source Load Balancer for RPC Nodes

Image description

November has been such a difficult month for Solana developers given the recent events. While many people look to be leaving the Solana blockchain as a result, we are glad to note that most dApp developers are staying put. The FTX furor does not appear to have changed how developers view Solana, and many continue to build applications on the network.

Of course, there’s more work to do to make Solana highly efficient and scalable, which is why we’re launching an open-source load balancer for the Solana developer community. It allows developers to reroute requests from Solana’s delinquent public RPC nodes to active ones.

The product is available for download and we invite you to test it and share your feedback on our Discord. You can also build a Docker image from the source code or use a ready-made image from Docker Hub.

The role of RPCs on Solana

Cryptocurrency wallets are the most popular applications of blockchain technology, but they are not actually connected to the blockchain. Those dApps simply translate user actions, such as checking balance, into a code to be executed by RPC nodes on the blockchain. Unfortunately, RPC nodes are pre-selected, making it possible for some of them to fail or time out. If that happens, the applications won’t work.

Besides, hosting Solana nodes is quite expensive. Most developers cannot justify paying over $1,000 to run a node, so they opt for public RPC nodes. Public RPC nodes are usually hosted by centralized providersβ€”Google Cloud, Hetzner, and AWSβ€”making them highly unreliable.

For example, Hetzner recently blocked Solana nodes from using its service, taking offline a whopping 22% of the network’s nodes. Hetzner’s decision did not affect Solana hard enough to take the network down, but many apps crashed as their selected RPC nodes went offline.

The event serves as a warning to the community that trusting only one RPC on a centrally hosted service is susceptible to the interest of third parties. One way to ensure availability is to create a script, module, or standalone balancer that switches automatically to a backup RPC endpoint if something unexpected happens with the primary node. If that fails too, the developer is in trouble.

What is an extrnode open-source load balancer?

extrnode aims to solve the node reliability problem by creating an open-source load balancer that distributes requests within a network of Solana’s public RPC nodes. It automatically reroutes requests to another active RPC endpoint when the current request-sending RPC is down. Therefore, extrnode provides a more reliable backup system for dApps to maintain 99.99% uptime.

Image description

extrnode load balancer will be free to use. Simply run the open-source load balancer on Docker, connect to it, and all is set up. It is also possible to configure the open-source load balancer to pick up the closest RPCs with the fastest response time.

Lastly, extrnode is a community-driven project, meaning users can share ideas, modify their clients, and contribute to the project's source code.

Developers currently have only three options to select a load balancer to run their RPC nodes:

  • Decentralized but paid balancers: users often have to pay in volatile project tokens.
  • Free but centralized balancers: users can only access an RPC of a single provider, which reduces the solution’s reliability in case of attacks.
  • DIY load balancers: complex and expensive, as the development would require a team, money, and infrastructure to host the solution.

The benefits of extrnode load balancer to developers

With extrnode load balancer, devs can work on their dApps without having to worry about sudden RPC shutdowns or bans.
Solana developers using extrnode load balancer can expect to have uninterrupted access to RPC nodes, and their users can enjoy using those dApps without any delays or errors. No longer do devs have to ask users to switch manually to other RPCs to continue enjoying their service.

It is also expensive and complex to build a custom load balancer, which is why extrnode is offering the open-source load balancer to the community to use for free. Devs can use the current version to test applications on the mainnet. However, we do not recommend using it to service production applications since it is not production-ready yet.

Going forward, the team is releasing a free public load balancer hosted on Everstake's infrastructure, as well as extrnode Premium for production use. Using the free version will require a developer to send requests to extrnode's RPC endpoint for the load balancer to reroute them to an available RPC. The Premium load balancer will accept only the most reliable and fastest validators in the RPC cluster. Some of these include 01node, Chainflow, Imperator, Chainode Tech, Stakin, Staking Facilities, and Triton One.

extrnode load balancer is only available on Solana, but we plan to launch it on other chains soon. Solanaβ€”a top blockchainβ€”offers the perfect network for testing the product and is critical to scaling it to other blockchains. We’re also encouraged by the resilience and unwavering support the Solana community has shown despite the current market and infrastructure troubles.

Is it safe to use extrnode open-source load balancer?

Yes. However, it is still early days. The extrnode open-source load balancer will have a fail-safe request rerouting mechanism. We invite users to test the service and share feedback to help us improve the product.
In the future, we will release an enterprise solution for customers with higher security requirements. The solution will only accept the most reliable and fastest validators. The goal is to provide complete decentralization and protection against any incidents.

Also coming to extrnode are an RPC Explorer and a public Solana RPC node map.

To learn more about extrnode and participate in our community events, follow us on Twitter and join our Discord.

Top comments (0)

Become a Moderator Do you want us to help make DEV a better place?

Fill out this survey and help us by becoming a tag moderator here at DEV.