Execute validadores e nós RPC com erpc validator e erpc rpc

O erpc rpc executa nós RPC em 18 chains e o erpc validator executa validadores em 13 delas. Todas as chains usam os mesmos verbos, e esses comandos de ciclo de vida de nós são gratuitos e não precisam de conta.
Esta página descreve o ERPC CLI v0.1.0-rc.4, uma versão de pré-lançamento. A aceitação em hosts reais ainda está em andamento: Situação de cada chain e o guia de cada chain informam a situação de cada uma.

Implantar um nó

O init prepara um servidor e o deploy instala e inicia o nó. Um nó RPC do Ethereum parte de um servidor Ubuntu sem nada instalado, versão 24.04 ou posterior:
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
Algumas chains precisam de mais coisas prontas antes, e o guia de cada chain diz o quê. Um novo validador ou nó RPC da Solana precisa de três sistemas de arquivos montados e das suas chaves já no 1Password.

Escolher a chain, a rede e o host

Escolha a chain com --chain, ERPC_CHAIN ou a configuração default_chain, a rede com -n e o host com --name. Uma alteração na mainnet exige --chain escrito na linha de comando.
  • erpc validator (alias v), erpc rpc (alias r) e erpc node (alias n, para Avalanche e Sui) executam os comandos de nó.
  • Execute um grupo de comandos sem verbo (erpc validator) para listar os seus verbos.
  • Nos comandos de nó, --json tem de vir antes do comando: erpc --json rpc ….

Comandos que funcionam em todas as chains

VerboO que faz
initVerifica o servidor, fixa as versões do cliente, armazena o nó no 1Password e prepara o host
deployInstala ou compila o cliente, baixa um snapshot, aplica o firewall onde o erpc tem um para esse nó e inicia o nó
list, status, logsInventário, saúde e journal
start, stop, restartControle do serviço, na ordem certa para nós com várias camadas
updateMuda para outra versão do cliente; a política de rollback depende do cliente
update-configAplica mudanças de configuração e de acesso usando as regras de reinício da chain
planMostra o plano de implantação ou de configuração da chain
destroyPara ou desativa os serviços próprios; a retenção de dados, chaves e firewall segue o guia de operações da chain
Um validador da Solana registrado no backend solv tem apenas init, deploy, list e status desses verbos.

Chains e guias

ChainNó RPCValidadorRedesGuias
Solanaerpc rpc --chain solanaerpc validator --chain solanamainnet, testnetOperações, Registro, Chain
Ethereumerpc rpc --chain eth (mainnet, --type full ou archive)erpc validator --chain eth (Hoodi, mainnet)mainnet, HoodiRPC, Validador, Chain
Baseerpc rpc --chain basemainnet, sepoliaChain
Avalancheerpc rpc --chain avax (também erpc node)erpc validator --chain avaxmainnet, fujiOperações, Chain
Bitcoinerpc rpc --chain bitcoinmainnet, testnet4, signet, regtestRPC, Chain
Polygonerpc rpc --chain polygonerpc validator --chain polygonmainnet, amoyRPC, Validador, Chain
BNB Chainerpc rpc --chain bscerpc validator --chain bscmainnet, chapelRPC, Validador, Chain
Kaiaerpc rpc --chain kaiaerpc validator --chain kaiamainnet, kairosRPC, Core cell, Chain
Arbitrumerpc rpc --chain arbitrum (mainnet, nova, sepolia)erpc validator --chain arbitrum (somente a mainnet Arbitrum One)mainnet, nova, sepoliaRPC, Validador, Chain
Optimismerpc rpc --chain optimismmainnet, sepoliaOperações, Chain
Hyperliquiderpc rpc --chain hyperliquiderpc validator --chain hyperliquidmainnet, testnetRPC, Validador, AQA, Chain
Monaderpc rpc --chain monaderpc validator --chain monadmainnet, testnetOperações, Chain
TRONerpc rpc --chain tronerpc validator --chain tronmainnet, nileOperações, Chain
Suierpc rpc --chain sui (também erpc node)erpc validator --chain suimainnet, testnetOperações, Chain
NEARerpc rpc --chain nearerpc validator --chain nearmainnet, testnetRPC, Validador, Chain
Arcerpc rpc --chain arcmainnet, testnetRuntime RPC, Chain
Robinhood Chainerpc rpc --chain robinhooderpc validator --chain robinhoodmainnet, testnetAdmissão, Validador, Chain
Soneiumerpc rpc --chain soneiummainnet, minatoChain
Execução de nós traz os clientes de cada chain.

O que o erpc precisa no servidor

  • O erpc faz login via SSH como um usuário sudo (ubuntu por padrão) com a sua chave, a partir do agente SSH do 1Password ou de SSH_AUTH_SOCK, e fixa a chave de host na primeira vez.
  • O servidor precisa de /usr/bin/python3 e de um login cujo sudo não peça senha.
  • /opt já precisa ser um diretório real pertencente ao root, em que nem o seu grupo nem outros usuários possam gravar, como o Ubuntu o entrega; o erpc não o cria. /opt/erpc e os diretórios runs e uploads que o erpc cria nele seguem a mesma regra, e nenhum deles pode ser um link simbólico: para mantê-los em outro volume, monte o volume em /opt/erpc. Para um nó, o sistema de arquivos que contém /opt/erpc também precisa manter ACLs POSIX (ext4 e XFS mantêm por padrão); caso contrário, o erpc interrompe a execução.
  • Um novo host da Solana precisa de Ubuntu 24.04, systemd 255 e x86-64 com os recursos de CPU AVX2 e SHA. A ERPC exige pelo menos 32 threads lógicas e 480 GiB de memória utilizável para um nó RPC da Solana, 24 threads e 300 GiB para um validador de mainnet, e 24 threads e 120 GiB para um validador de testnet.

Como o erpc executa um nó

  • A maioria das chains executa o cliente com um usuário próprio que não pode fazer login, verifica cada versão com um checksum fixado antes de instalá-la e aplica um firewall nftables com um rollback com temporizador que uma nova conexão de gerenciamento precisa confirmar. Nem todas fazem isso: um novo nó da Solana é compilado no servidor a partir de um commit fixado do código-fonte, e um nó da Solana registrado no backend solv roda como um usuário com login e sudo sem senha, e baixa algumas ferramentas sem checksum.
  • O erpc não aplica nenhum firewall a validadores da Solana no backend solv, a validadores do Ethereum nem a nós Bitcoin, então filtrar o tráfego desses hosts fica por sua conta.
  • Mantenha uma forma independente de acessar o host durante mudanças de rede.
  • Enquanto o diretório drop-in de um serviço protegido contiver outro arquivo, como um override.conf do systemctl edit, a etapa do firewall recusa e não altera nada. Tire o seu drop-in do diretório e execute o comando novamente.
  • Os segredos enviados da sua máquina chegam ao servidor pela entrada padrão, nunca por uma linha de comando.
  • Um novo validador da Solana sincroniza com uma identidade separada e com a votação desativada. deploy --activate-validator muda um host saudável para a sua identidade registrada original depois das verificações de registro público e de BLS nativo. --backend solv retoma um host solv existente e não pode criar um novo.
  • Não restaure o signer de um validador do Ethereum a partir de um backup: mova um signer com erpc v --chain eth migrate.
Login e chaves mostra quais chaves cada nó guarda no 1Password e no host.

Situação de cada chain

Para todas as chains da tabela, a implementação é verificada offline, e a aceitação ao vivo em hosts reais fica adiada. A verificação de roteamento de comandos RPC exercita todos os doze verbos comuns em todas as dezoito chains, e nenhuma dessas verificações executa um nó em um host real. A página de cada chain no mapa das fontes das chains diz em que situação ela está.