OffshoreVps
Tutorial17 ott 20267 min di letturaDi il team di OffshoreVps

Eseguire un nodo RPC Solana: requisiti e configurazione

Di cosa ha davvero bisogno un validatore o nodo RPC Solana, come ottimizzare il sistema, avviare un nodo RPC con il client Agave e quando un’opzione più piccola è più saggia.

Solana è la catena più impegnativa da gestire da soli. Un validator o un nodo RPC completo richiede una CPU velocissima, molta RAM e dischi NVMe veloci, e i requisiti cambiano di continuo. Questa guida spiega cosa significa in pratica, così puoi decidere se ti serve un nodo tutto tuo o una configurazione più piccola.

Finestra del terminale su un VPS che mostra i comandi usati per eseguire un nodo RPC Solana, a partire da “sudo adduser --disabled-password --gecos "" sol”
Il tipo di comandi che eseguirai sul tuo server in questa guida.

Validator, nodo RPC o nessuno dei due?

  • Validator. Vota sui blocchi e richiede le specifiche hardware complete, un vote account finanziato e uptime costante.
  • Nodo RPC. Serve le richieste di app, bot e indexer. Non vota, ma richiede comunque un hardware simile, e più RAM se abiliti gli indici degli account.
  • Uso leggero. Se invii solo poche transazioni o leggi pochi dati, un endpoint RPC a pagamento di solito costa meno che gestire un nodo.

Controlla i requisiti ufficiali per i validator Solana prima di acquistare. Sono pubblicati nella documentazione di Solana e Agave e cambiano con la rete. Come indicazione di massima, aspettati centinaia di GB di RAM per un nodo RPC molto usato e diverse unità NVMe veloci. Siamo nel territorio dei server dedicati, non di un piccolo VPS. La nostra pagina hosting di nodi Solana elenca le opzioni dimensionate.

Passo 1: prepara il server

Usa Ubuntu LTS e i passaggi di come proteggere un nuovo VPS. Crea un utente dedicato e metti ledger e account su unità NVMe separate se ne hai più di una.

sudo adduser --disabled-password --gecos "" sol
sudo mkdir -p /mnt/ledger /mnt/accounts
sudo chown -R sol:sol /mnt/ledger /mnt/accounts

Passo 2: alza i limiti di sistema

Solana apre molti file e usa grandi mappe di memoria. Aggiungi queste righe a /etc/sysctl.d/21-solana.conf e alla tua unità systemd:

vm.max_map_count=1000000
net.core.rmem_max=134217728
net.core.wmem_max=134217728

# in the systemd unit:
LimitNOFILE=1000000

Applica con sudo sysctl --system.

I passaggi di questa guida in ordine: 1. Validatore, nodo RPC o nessuno dei due?; 2. prepara il server; 3. alza i limiti di sistema; 4. avvia un nodo RPC; 5. guardalo mentre si allinea; 6. Firewall
I passaggi di questa guida, in ordine.

Passo 3: installa il software del validator

Installa la release corrente di Agave (il client validator di Solana) con il metodo indicato nella documentazione ufficiale, e verificala. Poi controlla la versione:

agave-validator --version
solana --version

Passo 4: avvia un nodo RPC

Questa è la forma tipica del comando di avvio per un nodo RPC che non vota. Usa i known validator e gli entrypoint della documentazione ufficiale per il tuo cluster.

agave-validator \
  --identity /home/sol/identity.json \
  --ledger /mnt/ledger \
  --accounts /mnt/accounts \
  --entrypoint ENTRYPOINT:8001 \
  --known-validator KNOWN_VALIDATOR_PUBKEY \
  --only-known-rpc \
  --rpc-port 8899 \
  --private-rpc \
  --no-voting \
  --full-rpc-api \
  --limit-ledger-size \
  --log /var/log/solana/validator.log

Sostituisci i segnaposto con i valori della documentazione. --private-rpc evita che la porta RPC venga annunciata alla rete, e dovresti comunque tenerla chiusa con il firewall.

Passo 5: guarda come si allinea

solana catchup --our-localhost
solana-validator --ledger /mnt/ledger monitor

L'allineamento da uno snapshot richiede da minuti a ore. Se il nodo resta indietro e non si riprende mai, di solito la causa è il disco o la rete.

Firewall

Consenti l'intervallo di porte gossip e TPU descritto nella documentazione (l'intervallo predefinito va da 8000 a 10000) e tieni privato l'RPC (8899 e 8900). Metti davanti un reverse proxy con autenticazione se devi servire l'RPC ad altre macchine.