Written by
Mert Mumtaz
Published on
June 1, 2024
Copy link

Solana Nodes — A Primer on Solana RPCs, Validators, and RPC providers

Introduction

A blockchain is a set of nodes that talk to each other to agree on new information. What makes blockchains different from traditional systems is that the nodes don’t need to trust each other. As a result, there is no single point of failure and the system is resilient against arbitrary failure.

This is the core idea of all blockchains, but each chain has its own implementation flavour. In this brief article, we’ll learn more about how Solana approaches it. We’ll learn what a node is, the differences between RPC and validator nodes, and how to think about node providers.

What Is a Node?

A node is simply a computer. A Solana node is a computer that runs the Solana blockchain client. Not all nodes are the same, some nodes specialize in certain functions like voting or streaming data. The core defining similarity between all nodes is that they keep track of the state of the blockchain. That is to say; they see every state transition (e.g., account X sent 5 SOL to account Y).

Validator Nodes

A validator is a Solana node that helps secure the network by i) producing blocks and ii) voting on the validity of other blocks. Recall that all Solana nodes keep track of the state of the blockchain. As a result, if a validator produces a faulty block, other validators will detect it and vote accordingly.

A natural question is: “Why do they do this? What’s their incentive to not lie?” Without getting deep into game theory, a validator is incentivized to vote honestly for multiple reasons, mainly economic opportunity. Validators earn rewards from transaction fees, maximum extractable value (MEV), and token inflation. To learn more about validator economics, see this primer.

RPC Nodes

Once a blockchain functions properly, it starts processing and storing new information. In Solana’s case, it starts processing and storing new information — very rapidly. Developers need to access the information stored in the blockchain to use in their systems. However, different applications have different requirements. A use case can be as simple as transferring a single token and as complex as performing an atomic arbitrage trade at very low latencies, racing against other high-frequency traders.

You may notice a problem here — we now need a node that can handle extremely varied information requests while still voting on the validity of blocks and even producing new ones. While such a node is possible, their system requirements would be so high as to diminish the accessibility of running nodes.

Solana gets around this by introducing a new type of node that still keeps track of all information on the blockchain but doesn’t vote on it or produce blocks. In other words, this node type — an RPC node — only responds to data requests and does not participate in consensus. To see a full list of API requests available to Solana nodes, see the official spec here.

Solana Node Requirements

Contrary to popular belief, you do not need any SOL (the native currency for the Solana blockchain) to run a Solana node. This is only needed if you’d like to participate in consensus as sending a vote requires a small transaction fee.

The specific system requirements will depend on the use of the node (and these can be tuned quite a bit for custom cases), but here are some rough starting guidelines:

  • 12-core CPU with 2.8GHz clock speed minimum
  • 128/256GB of RAM (RPC nodes might require more for custom database indices)
  • 2-4 NVME drives of at least 1TB
  • 10 Gbps Network

Note that there are multiple validator software rewrites in process that aim to get more performance out of lesser hardware, Firedancer being the most prominent one.

Solana RPC Providers

The security and accessibility of the network are determined by the nodes themselves. As a result, running Solana nodes is a serious job and responsibility. If your node infrastructure is unreliable, you will be penalized economically. In the case of RPC nodes, your applications, systems, and users will also be affected. The consequences can be severe — ranging from incorrect data (which might affect tax and financial data) to your app being unusable.

As a result, several companies have arisen to specialize in improving this process altogether. RPC providers architect these systems with reliability, performance, and scalability in mind — so that developers never have to worry about anything but building a great product.

How to Pick Between RPC Providers?

RPC providers should be judged on multiple dimensions:

Domain expertise

  • How well does your RPC provider know the chain they provide infrastructure for? Do they understand the system architecture deeply, keep up with all updates, and participate in the governance progress? Or are they spread thin due to supporting multiple chains with varying requirements? It is important that your RPC provider consistently be your trusted source of information to ensure proper handling of nonlinear events like chain congestion, outages, and security incidents.

Reliability

  • Most RPCs work during quiet times, but do they hold up under heavy traffic? How often do they have incidents? How do these incidents get communicated to you? You won’t learn about the consequences until you are stress-tested in production. It is generally wiser to go with teams with a proven track-record.

Scalability

  • Can the RPC handle sudden bursts in traffic? What if your usage increases monthly as your business grows more successful? Will your latency get worse? Is your RPC provider helping you optimize your calls to build a scalable system? Are they being proactive about it?

Correctness

  • What guarantees do you have that the RPC data returned to you is correct? Is the node infrastructure consistently in sync with the chain or is it returning outdated data? This is a very common issue with multichain node providers as they look to reuse the same architectures on multiple chains with varying performance characteristics.

Latency

  • What geographic regions does your RPC provider support? For example: will your users in Asia see higher latencies than the ones in the USA?

Support

  • Blockchains are still very early. There are new problems being discovered every day. It is extremely important that your RPC provider supplies you with fast turnaround times, domain expertise, and consulting so you can debug your systems.

Price

  • How transparent is the pricing? Do all RPC methods cost you the same? What happens if you go over your monthly usage? Does the pricing scale reasonably or do you now have to negotiate a new contract or go with a new provider?
  • Additional APIs and Features
  • Will you need to integrate many other service providers to build your application or does your RPC provider also have many other APIs to help you build on the chain of your choice? What if you need data streaming, dedicated infrastructure, or other domain-specific APIs?

Top Solana RPC Providers

Choosing the right RPC provider is your most important decision as a crypto developer. This decision directly impacts your business in terms of product, financials, and, ultimately, success.

Based on the criteria mentioned above, here’s a list of top Solana RPC providers:

  1. Helius — specializes exclusively in Solana infrastructure. As a result, every system is built with the Solana developer and their needs in mind. In particular, Solana development is fast-paced and requires comprehensive support, domain expertise, and reliability. Helius has supported the biggest events in Solana's history, including Helium’s blockchain migration.
  2. Triton — a Solana validator/RPC shop that regularly provides open-source contributions to the ecosystem.
  3. Alchemy — if your application is inherently multichain and you’d like to minimize the number of node providers, Alchemy has a robust multichain offering.
  4. Blockdaemon — if you’d like to run validators instead of RPC nodes and you are an enterprise-level customer, Blockdaemon might be a good fit.

Next Steps

You now have a robust understanding of how Solana nodes work. If you’d like to start building on Solana without worrying about the operations, maintenance, and costs of running your own nodes — you can start playing around with a Helius RPC for free, here. If you encounter any issues, we are available on Discord 24/7 — happy building!