Validatoren und RPC-Knoten mit erpc validator und erpc rpc betreiben

erpc rpc betreibt RPC-Knoten auf 18 Chains und erpc validator Validatoren auf 13 davon. Jede Chain verwendet dieselben Verben, und diese Lebenszyklus-Befehle für Knoten sind kostenlos und benötigen kein Konto.
Diese Seite beschreibt ERPC CLI v0.1.0-rc.4, eine Vorabversion. Die Abnahme auf echten Hosts läuft noch: Wo jede Chain steht und der Leitfaden jeder Chain geben den Stand jeder Chain an.

Einen Knoten bereitstellen

init bereitet einen Server vor, und deploy installiert und startet den Knoten. Ein Ethereum-RPC-Knoten beginnt mit einem frischen Ubuntu-Server, 24.04 oder neuer:
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
Manche Chains brauchen vorher mehr, und der Leitfaden jeder Chain sagt, was. Ein neuer Solana-Validator oder -RPC-Knoten braucht drei eingehängte Dateisysteme und seine Schlüssel bereits in 1Password.

Chain, Netzwerk und Host wählen

Wählen Sie die Chain mit --chain, ERPC_CHAIN oder der Einstellung default_chain, das Netzwerk mit -n und den Host mit --name. Eine Änderung an einem Knoten im Mainnet erfordert, dass --chain auf der Befehlszeile steht.
  • erpc validator (Alias v), erpc rpc (Alias r) und erpc node (Alias n, für Avalanche und Sui) führen die Knotenbefehle aus.
  • Führen Sie eine Befehlsgruppe ohne Verb aus (erpc validator), um ihre Verben aufzulisten.
  • Bei Knotenbefehlen muss --json vor dem Befehl stehen: erpc --json rpc ….

Befehle, die auf jeder Chain funktionieren

VerbWas es tut
initPrüft den Server, fixiert die Client-Versionen, speichert den Knoten in 1Password und bereitet den Host vor
deployInstalliert oder baut den Client, holt einen Snapshot, wendet die Firewall an, wo erpc eine für diesen Knoten hat, und startet den Knoten
list, status, logsInventar, Gesundheitszustand und Journal
start, stop, restartDienststeuerung, in der richtigen Reihenfolge für Knoten mit mehreren Schichten
updateWechselt zu einer anderen Client-Version; die Rollback-Richtlinie hängt vom Client ab
update-configWendet Konfigurations- und Zugriffsänderungen nach den Neustartregeln der Chain an
planZeigt den Bereitstellungs- oder Konfigurationsplan der Chain
destroyStoppt die eigenen Dienste oder legt sie still; die Aufbewahrung von Daten, Schlüsseln und Firewall richtet sich nach dem Betriebsleitfaden der Chain
Ein Solana-Validator, der im solv-Backend erfasst ist, hat davon nur init, deploy, list und status.

Chains und Leitfäden

ChainRPC-KnotenValidatorNetzwerkeLeitfäden
Solanaerpc rpc --chain solanaerpc validator --chain solanamainnet, testnetBetrieb, Registrierung, Chain
Ethereumerpc rpc --chain eth (mainnet, --type full oder archive)erpc validator --chain eth (Hoodi, mainnet)mainnet, HoodiRPC, Validator, Chain
Baseerpc rpc --chain basemainnet, sepoliaChain
Avalancheerpc rpc --chain avax (auch erpc node)erpc validator --chain avaxmainnet, fujiBetrieb, 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 (nur Arbitrum One mainnet)mainnet, nova, sepoliaRPC, Validator, Chain
Optimismerpc rpc --chain optimismmainnet, sepoliaBetrieb, Chain
Hyperliquiderpc rpc --chain hyperliquiderpc validator --chain hyperliquidmainnet, testnetRPC, Validator, AQA, Chain
Monaderpc rpc --chain monaderpc validator --chain monadmainnet, testnetBetrieb, Chain
TRONerpc rpc --chain tronerpc validator --chain tronmainnet, nileBetrieb, Chain
Suierpc rpc --chain sui (auch erpc node)erpc validator --chain suimainnet, testnetBetrieb, Chain
NEARerpc rpc --chain nearerpc validator --chain nearmainnet, testnetRPC, Validator, Chain
Arcerpc rpc --chain arcmainnet, testnetRPC-Runtime, Chain
Robinhood Chainerpc rpc --chain robinhooderpc validator --chain robinhoodmainnet, testnetZulassung, Validator, Chain
Soneiumerpc rpc --chain soneiummainnet, minatoChain
Knoten betreiben nennt die Clients für jede Chain.

Was erpc auf dem Server braucht

  • erpc meldet sich per SSH als sudo-Benutzer an (standardmäßig ubuntu), mit Ihrem Schlüssel aus dem 1Password-SSH-Agent oder SSH_AUTH_SOCK, und fixiert beim ersten Mal den Host-Schlüssel.
  • Der Server braucht /usr/bin/python3 und ein Login, dessen sudo nach keinem Passwort fragt.
  • /opt muss bereits ein echtes Verzeichnis sein, das root gehört und weder von seiner Gruppe noch von anderen beschreibbar ist, so wie Ubuntu es ausliefert; erpc legt es nicht an. Für /opt/erpc und die Verzeichnisse runs und uploads, die erpc darin anlegt, gilt dieselbe Regel, und keines davon darf ein symbolischer Link sein: Um sie auf einem anderen Volume zu halten, hängen Sie das Volume unter /opt/erpc ein. Für einen Knoten muss das Dateisystem, das /opt/erpc enthält, außerdem POSIX-ACLs beibehalten (ext4 und XFS tun das standardmäßig), sonst bricht erpc ab.
  • Ein neuer Solana-Host braucht Ubuntu 24.04, systemd 255 und x86-64 mit den CPU-Funktionen AVX2 und SHA. ERPC verlangt mindestens 32 logische Threads und 480 GiB nutzbaren Arbeitsspeicher für einen Solana-RPC-Knoten, 24 Threads und 300 GiB für einen Mainnet-Validator und 24 Threads und 120 GiB für einen Testnet-Validator.

Wie erpc einen Knoten betreibt

  • Die meisten Chains führen den Client als eigenen Benutzer aus, der sich nicht anmelden kann, prüfen jede Version gegen eine fixierte Prüfsumme, bevor sie installiert wird, und wenden eine nftables-Firewall mit zeitgesteuertem Rollback an, das eine neue Verwaltungsverbindung bestätigen muss. Nicht alle tun das: Ein neuer Solana-Knoten wird auf dem Server aus einem fixierten Quell-Commit gebaut, und ein Solana-Knoten, der im solv-Backend erfasst ist, läuft als Login-Benutzer mit sudo ohne Passwort und holt einige Werkzeuge ohne Prüfsumme.
  • erpc wendet keine Firewall auf Solana-Validatoren im solv-Backend, Ethereum-Validatoren oder Bitcoin-Knoten an; das Filtern dieser Hosts ist also Ihre Aufgabe.
  • Halten Sie während Netzwerkänderungen einen unabhängigen Weg zum Host bereit.
  • Solange das Drop-in-Verzeichnis eines geschützten Dienstes eine weitere Datei enthält, etwa eine override.conf aus systemctl edit, verweigert der Firewall-Schritt die Ausführung und ändert nichts. Verschieben Sie Ihr Drop-in aus dem Verzeichnis und führen Sie den Befehl erneut aus.
  • Secrets, die von Ihrem Rechner gesendet werden, erreichen den Server über die Standardeingabe, nie über eine Befehlszeile.
  • Ein neuer Solana-Validator synchronisiert unter einer separaten Identität mit deaktiviertem Voting. deploy --activate-validator schaltet einen gesunden Host nach der öffentlichen Registrierung und nativen BLS-Prüfungen auf seine ursprüngliche registrierte Identität um. --backend solv nimmt einen bestehenden solv-Host wieder auf und kann keinen neuen anlegen.
  • Stellen Sie den Signer eines Ethereum-Validators nicht aus einem Backup wieder her: Verschieben Sie einen Signer mit erpc v --chain eth migrate.
Anmeldung und Schlüssel zeigt, welche Schlüssel jeder Knoten in 1Password und auf dem Host aufbewahrt.

Wo jede Chain steht

Für jede Chain in der Tabelle ist die Implementierung offline geprüft, und die Live-Abnahme auf echten Hosts ist zurückgestellt. Die Prüfung des RPC-Befehlsroutings durchläuft alle zwölf gemeinsamen Verben für alle achtzehn Chains, und keine dieser Prüfungen betreibt einen Knoten auf einem echten Host. Die Seite jeder Chain in der Quellenübersicht der Chains gibt an, wo sie steht.