Esegui validator e nodi RPC con erpc validator ed erpc rpc

erpc rpc esegue nodi RPC su 18 chain ed erpc validator esegue validator su 13 di queste. Ogni chain usa gli stessi verbi, e questi comandi del ciclo di vita dei nodi sono gratuiti e non richiedono un account.
Questa pagina descrive ERPC CLI v0.1.0-rc.4, una versione pre-release. L'accettazione su host reali è ancora in corso: A che punto è ogni chain e la guida di ciascuna chain riportano lo stato di ogni chain.

Distribuire un nodo

init prepara un server e deploy installa e avvia il nodo. Un nodo RPC Ethereum parte da un server Ubuntu vuoto, 24.04 o successivo:
bash
# check the server, pin the client releases, store the node in 1Password
erpc rpc --chain ethereum -n mainnet --name eth1 init --host <address> --vault <vault id> --ssh-key ~/.ssh/id_ed25519.pub
# install, fetch a snapshot, apply the firewall, start
erpc rpc --chain ethereum -n mainnet --name eth1 deploy --ssh-key ~/.ssh/id_ed25519.pub
# both layers, sync and head
erpc rpc --chain ethereum -n mainnet --name eth1 status --ssh-key ~/.ssh/id_ed25519.pub
Alcune chain richiedono prima altri preparativi, e la guida di ciascuna chain indica quali. Un nuovo validator o nodo RPC Solana richiede tre filesystem montati e le sue chiavi già presenti in 1Password.

Scegliere chain, rete e host

Scegli la chain con --chain, ERPC_CHAIN o l'impostazione default_chain, la rete con -n e l'host con --name. Una modifica sulla mainnet richiede --chain scritto sulla riga di comando.
  • erpc validator (alias v), erpc rpc (alias r) ed erpc node (alias n, per Avalanche e Sui) eseguono i comandi dei nodi.
  • Esegui un gruppo di comandi senza verbo (erpc validator) per elencarne i verbi.
  • Nei comandi dei nodi, --json deve precedere il comando: erpc --json rpc ….

Comandi che funzionano su ogni chain

VerboCosa fa
initControlla il server, fissa le versioni del client, salva il nodo in 1Password e prepara l'host
deployInstalla o compila il client, scarica uno snapshot, applica il firewall dove erpc ne ha uno per quel nodo e avvia il nodo
list, status, logsInventario, stato di salute e journal
start, stop, restartControllo dei servizi, nell'ordine corretto per i nodi con più livelli
updatePassa a un'altra versione del client; la politica di rollback dipende dal client
update-configApplica le modifiche alla configurazione e agli accessi secondo le regole di riavvio della chain
planMostra il piano di distribuzione o di configurazione della chain
destroyArresta o dismette i servizi di sua proprietà; la conservazione di dati, chiavi e firewall segue la guida operativa della chain
Di questi, un validator Solana registrato sul backend solv ha solo init, deploy, list e status.

Chain e guide

ChainNodo RPCValidatorRetiGuide
Solanaerpc rpc --chain solanaerpc validator --chain solanamainnet, testnetOperazioni, Registrazione, Chain
Ethereumerpc rpc --chain eth (mainnet, --type full o archive)erpc validator --chain eth (Hoodi, mainnet)mainnet, HoodiRPC, Validator, Chain
Baseerpc rpc --chain basemainnet, sepoliaChain
Avalancheerpc rpc --chain avax (anche erpc node)erpc validator --chain avaxmainnet, fujiOperazioni, Chain
Bitcoinerpc rpc --chain bitcoinmainnet, testnet4, signet, regtestRPC, Chain
Polygonerpc rpc --chain polygonerpc validator --chain polygonmainnet, amoyRPC, Validator, Chain
BNB Chainerpc rpc --chain bscerpc validator --chain bscmainnet, chapelRPC, Validator, Chain
Kaiaerpc rpc --chain kaiaerpc validator --chain kaiamainnet, kairosRPC, Core cell, Chain
Arbitrumerpc rpc --chain arbitrum (mainnet, nova, sepolia)erpc validator --chain arbitrum (solo mainnet di Arbitrum One)mainnet, nova, sepoliaRPC, Validator, Chain
Optimismerpc rpc --chain optimismmainnet, sepoliaOperazioni, Chain
Hyperliquiderpc rpc --chain hyperliquiderpc validator --chain hyperliquidmainnet, testnetRPC, Validator, AQA, Chain
Monaderpc rpc --chain monaderpc validator --chain monadmainnet, testnetOperazioni, Chain
TRONerpc rpc --chain tronerpc validator --chain tronmainnet, nileOperazioni, Chain
Suierpc rpc --chain sui (anche erpc node)erpc validator --chain suimainnet, testnetOperazioni, Chain
NEARerpc rpc --chain nearerpc validator --chain nearmainnet, testnetRPC, Validator, Chain
Arcerpc rpc --chain arcmainnet, testnetRuntime RPC, Chain
Robinhood Chainerpc rpc --chain robinhooderpc validator --chain robinhoodmainnet, testnetAmmissione, Validator, Chain
Soneiumerpc rpc --chain soneiummainnet, minatoChain
Esecuzione dei nodi riporta i client di ogni chain.

Cosa serve a erpc sul server

  • erpc accede tramite SSH come utente sudo (ubuntu per impostazione predefinita) con la tua chiave, dall'agente SSH di 1Password o da SSH_AUTH_SOCK, e fissa la chiave host la prima volta.
  • Il server richiede /usr/bin/python3 e un utente di accesso il cui sudo non chieda alcuna password.
  • /opt deve essere già una vera directory di proprietà di root, non scrivibile né dal suo gruppo né dagli altri, così come la fornisce Ubuntu; erpc non la crea. /opt/erpc e le directory runs e uploads che erpc vi crea sono soggette alla stessa regola, e nessuna di queste può essere un link simbolico: per tenerle su un altro volume, monta il volume su /opt/erpc. Per un nodo, il filesystem che contiene /opt/erpc deve anche mantenere le ACL POSIX (ext4 e XFS lo fanno per impostazione predefinita), altrimenti erpc si ferma.
  • Un nuovo host Solana richiede Ubuntu 24.04, systemd 255 e x86-64 con le funzionalità CPU AVX2 e SHA. ERPC richiede almeno 32 thread logici e 480 GiB di memoria utilizzabile per un nodo RPC Solana, 24 thread e 300 GiB per un validator mainnet, e 24 thread e 120 GiB per un validator testnet.

Come erpc esegue un nodo

  • La maggior parte delle chain esegue il client con un proprio utente che non può accedere, verifica ogni versione rispetto a un checksum fissato prima di installarla e applica un firewall nftables con un rollback a tempo che una nuova connessione di gestione deve confermare. Non tutte lo fanno: un nuovo nodo Solana viene compilato sul server da un commit sorgente fissato, e un nodo Solana registrato sul backend solv viene eseguito come utente di accesso con sudo senza password e scarica alcuni strumenti senza checksum.
  • erpc non applica alcun firewall ai validator Solana sul backend solv, ai validator Ethereum né ai nodi Bitcoin, quindi il filtraggio di questi host spetta a te.
  • Durante le modifiche di rete, mantieni un modo indipendente per raggiungere l'host.
  • Finché la directory drop-in di un servizio protetto contiene un altro file, come un override.conf da systemctl edit, il passaggio del firewall rifiuta e non modifica nulla. Sposta il tuo drop-in fuori dalla directory ed esegui di nuovo il comando.
  • I secret inviati dalla tua macchina raggiungono il server tramite standard input, mai su una riga di comando.
  • Un nuovo validator Solana si sincronizza con un'identità separata e con il voto disabilitato. deploy --activate-validator passa un host integro alla sua identità registrata originale dopo la registrazione pubblica e i controlli BLS nativi. --backend solv riprende un host solv esistente e non può crearne uno nuovo.
  • Non ripristinare il signer di un validator Ethereum da un backup: sposta un signer con erpc v --chain eth migrate.
Accesso e chiavi mostra quali chiavi conserva ogni nodo in 1Password e sull'host.

A che punto è ogni chain

Per ogni chain della tabella, l'implementazione è verificata offline e l'accettazione dal vivo su host reali è rinviata. Il controllo dell'instradamento dei comandi RPC prova tutti e dodici i verbi comuni su tutte e diciotto le chain, e nessuno di questi controlli esegue un nodo su un host reale. La pagina di ciascuna chain nella mappa delle sorgenti delle chain indica a che punto è.