extrnode Load Balancer – Install It and Forget About Looking for Fault-Tolerant Public Solana RPCs

If you don't know how our extrnode load balancer will help the Solana ecosystem, then you probably haven't worked with RPC endpoints and don't know that they are the backbone of all dApps.

Today we'll fix that: we'll discuss Public RPCs, show you how to connect to them, and explain how extrnode load balancer will make life easier for blockchain developers.

What are Public RPC Endpoints?

There are two kinds of nodes in any blockchain protocol: validators and RPCs. Validators receive transactions from other nodes and add them to their blockchain. RPCs accept transactions from users and applications and return the on-chain data on request.

RPCs are fundamental to the operation of decentralized applications. When you send tokens to a wallet, the wallet sends your RPC transaction as specified by the developer. The same happens in other applications that send transactions, write something onto the blockchain, or display on-chain data.

RPC endpoints are, in turn, divided into private and public. To access a private one, you need to buy a token or another authenticator, although this is not always convenient or practical. Public RPCs, on the other hand, are open to everyone.

Public RPC endpoints are usually run by large validators who care about the ecosystem and want to add value to the community. But a validator sometimes could just forget to close endpoint access, so they can also be accessed for free.

How to Connect to a Public Solana RPC

To connect to a Public RPC, you need to know its endpoint (i.e. its IP address and port, for example, 103.50.32.83:8899). You can find more addresses on the list of Public Solana RPCs we have made while working on extrnode’s open-source version.

Open the terminal and send a request to an RPC endpoint from there. For example, here’s how we request information about the current epoch on the Solana network:

curl -H Content-Type: application/json’ \ (this is the request method and answer format)
-X POST ‘RPC_ENDPOINT’ \ (the address of a public endpoint)
--data-raw '{"method":"getEpochInfo","id":1,"jsonrpc":"2.0"}' (the request sent to the RPC).

The RPC will respond:

Try it yourself: copy the command, paste it into the terminal, and press Enter.

curl -H 'Content-Type: application/json' \
-X POST '103.50.32.83:8899' \
--data-raw '{"method":"getEpochInfo","id":1,"jsonrpc":"2.0"}’

If you want to run a few experiments, try other requests from the Solana RPC API documentation.

What Should You Keep in Mind When Connecting to Public Solana RPC Endpoints?

Validators are not rewarded for maintaining Public RPC endpoints. It is their voluntary contribution to the ecosystem. There are disadvantages to this:

  • No one guarantees the stable operation of a Public RPC. It may stop responding or return incorrect data because the validator does not dedicate enough resources to it.

  • A single Public RPC may be used by many applications, resulting in slow processing times.

  • Many Public RPCs are hosted in remote data centers, and network latency may exceed Solana's block creation time.

For these reasons, developers do not recommend using Public RPC endpoints for customer-ready applications, but only for testing during development.

And even in the case of testing, an RPC needs to be chosen carefully to keep the application stable:

How Will extrnode Load Balancer Solve Your Problems with Public Solana RPC Endpoints

As you have understood, to test a dApp seamlessly, you will first have to try a couple of dozen Public RPCs and determine the best option available: with consistent uptime, fast responses, and low network latency.

Our extrnode load balancer, powered by Everstake, will simplify your life: it selects the best fit for your dApp RPC endpoint from the list and, if it is slow or goes offline, automatically connects to another RPC without crashing the application.

extrnode is open source for now, and it should only be used to test applications, but we'll soon launch a public version for production use and an enterprise version for services with strict security requirements.

Don’t miss our updates on Twitter.

Share your experiences on extrnode Discord, and of course, help us test extrnode.

Subscribe to extrnode | Powered by Everstake
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.