Deploying a Sonic RPC Node
Step-by-step guide for deploying a new Sonic RPC Node on Testnet V1, including system requirements, hardware configurations, and setup instructions.
Table of Contents
System Requirements
Operating System
Ubuntu Server 22.04.4 LTS
Hardware Requirements
Configuration | CPU | RAM | SSD |
---|---|---|---|
Low-End | 64-core | 512GB | 10TB |
Mid-Range | 128-core | 1T | 15TB |
Server Port Policy
Open ports 80 and 443 for RPC external services.
Open TCP and UDP protocol ports in the range of 8000 to 9000.
Whitelist IP addresses 52.13.90.86.
After configuration, send your server's public IP address to operators@sonic.game.
System Tuning
Your system needs to be tuned to run properly. Your RPC validator may not start without these settings.
Optimize sysctl knobs:
Increase systemd and session file limits:
Add to the [Service]
section of your systemd
service file:
Or add to the [Manager]
section of /etc/systemd/system.conf
:
Then run:
Important: Close all open sessions. Log out then log in again after making these changes.
Install Sonic Testnet Validator
Option 1: Pre-built Binary Package
Option 2: Build from Source Code
1. Install dependencies:
2. Download the source code:
3. Build
Initialization
Check System Variables
Configuration
Edit the start_node.sh
file and replace YOUR_PUBLIC_IP
with your machine's public IP address.
This script contains various configuration options. Ensure you replace YOUR_PUBLIC_IP
with your actual public IP address, VALIDATOR_ID
, with the public address of the known validator on the cluster, and VALIDATOR_GENESIS_HASH
with the genesis hash of the cluster you are deploying for.
Make sure to replace YOUR_PUBLIC_IP
with your actual public IP address, and replace VALIDATOR_ID
and VALIDATOR_GENESIS_HASH
with the right values.
Testnet V1 Variables:
VALIDATOR_ID
:Ci2TRaVpJoNmTUVhw5tkTVnskXVJ7FQHCMKRFGrQSHJB
VALIDATOR_GENESIS_HASH
: E8nY8PG8PEdzANRsv91C2w28Dbw9w3AhLqRYfn5tNv2C
Devnet Variables (Deprecated):
VALIDATOR_ID
:CQqu5MsTpH1mTwEsZ75QzPtXGTz9ziEvKwpcAstKG9WJ
VALIDATOR_GENESIS_HASH
: BsJstMXKW4DpjzHPsSCdEcAn4YtpNiLFRFa5M5L7UxFx
Configuring Domain Name for your RPC Node
At this point, you should be ready to configure a domain name for your service. You may use Nginx or any reverse proxy of your choice.
Running the Node
Shutting Down the Node
You can gracefully shut down the node by running the following command inside the ~/sonic_node
directory
Operator Guides
It is recommended to read the guides and operator best practices outlined in the official Solana documentation.
Support
For support or questions, contact the Sonic Operators team at operators@sonic.game or DM @codebender828 on X.
Last updated