Practical overview
When it fits
Use it when you need a practical starting point for preparing your own Linux server rather than a hosted RPC endpoint. It is most relevant before provisioning and compiling the node software.
Who it is for
- Solana infrastructure operators
- Engineers building private RPC access for development and testing
- Teams preparing dedicated servers for Solana data access
Documented uses
- Plan server hardware for a Solana RPC node
- Prepare separate ledger and accounts storage
- Build the Agave validator client from source
- Apply documented firewall and CPU performance settings
Requirements & limits
The repository is public and lists an Apache-2.0 license. The documented approach is self-hosted and uses Linux command-line and server tools; no hosted endpoint, pricing or account requirement is documented.
- Hardware requirements are substantial: the guidance specifies at least 16 cores/32 threads, supported CPU instruction sets and 256 GB or more of RAM.
- Accounts and ledger storage should not share a disk; the documented storage sizes are at least 500 GB for accounts, 1 TB for ledger and 250 GB for snapshots.
- The example keeps the RPC port closed and requires the dynamic port range to match validator configuration.
- The setup includes compiling Agave from source, including dependency installation and release build options.
- The repository describes a slightly more performant RPC configuration, not a managed RPC service or standalone application.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Prepare storage and a service user for a Solana RPC server
Set up the documented Ubuntu user, separate ledger and accounts storage, and persistent mounts.
Before you start
- An Ubuntu computer with at least 2 TB of mounted disk space.
- A non-root Ubuntu user named sol.
- Separate devices for ledger and AccountsDB storage.
- Access to the required sudo commands.
Steps
Create the sol user with sudo adduser sol.
Inspect available space and devices with df -h and lsblk -f.
Format the ledger and AccountsDB devices as XFS, create /mnt/ledger and /mnt/accounts, assign ownership to sol, and mount each device with the documented options.
Add UUID-based entries for both mounts to /etc/fstab.
Verify the active mounts with mount or findmnt.
Expected outcome
The server has a dedicated non-root user and separate mounted locations for ledger and AccountsDB storage.
Guide limitations
- The example device names may differ on the target computer.
- The repository recommends separate storage for accounts and ledger; snapshots are listed as another storage area.
- This recipe documents preparation only, not validator execution.
Build the Agave validator client from a selected tag
Install the documented Rust dependencies, obtain a selected Agave release and compile the validator binary.
Before you start
- A Linux server prepared for the Solana setup.
- rustup, cargo and rustfmt installed through the documented commands.
- The listed development packages installed with apt-get.
- The Agave source repository available through Git.
Steps
Install rustc, cargo and rustfmt with rustup, update rustup and add the rustfmt component.
Install the documented system packages, including LLVM, Clang, CMake, protobuf and related libraries.
Clone the anza-xyz/agave repository, choose a tag and export its tag value.
Build with the documented release-with-LTO and native-CPU options, then add the resulting bin directory to PATH.
Expected outcome
A validator build is produced from the selected Agave source tag.
Guide limitations
- The documented example selects Agave v4.2.1 and its pinned compiler is described in the repository.
- Some dependency requirements may vary by environment; the repository says additional packages may be needed.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 1 October 2026
- Original website title
- sonicfromnewyoke/solana-rpc · Official homepage title · retained in its source language

