Chame métodos RPC e envie eventos para a sua URL com o ERPC CLI

O erpc rpc call envia uma requisição JSON-RPC do seu terminal com a conta ERPC em que você fez login, ou paga por chamada com x402. O erpc webhook envia eventos RPC via POST para a sua URL.
Esta página descreve o ERPC CLI v0.1.0-rc.4, uma versão de pré-lançamento.

Chamar um método RPC

Use a conta ERPC em que você fez login para chamar a mainnet da Solana ou do Ethereum. O CLI escolhe o endpoint compartilhado a partir do método, ou você pode escolher a rede.
sh
erpc login
erpc rpc call getSlot
erpc --json rpc call eth_getBlockByNumber '["latest", false]' --network ethereum-mainnet
erpc rpc call eth_call --params-file params.json
printf '%s' '["finalized", false]' | erpc rpc call eth_getBlockByNumber -
erpc rpc call getHealth --endpoint-url http://127.0.0.1:8899
  • Parâmetros são um array ou objeto JSON, um arquivo com --params-file, ou - para a entrada padrão. Sem eles, a chamada envia [].
  • Redes são solana-mainnet e ethereum-mainnet (também eth-mainnet). erpc rpc list-networks lista as redes que têm o RPC compartilhado da ERPC e o RPC x402.
  • Seu próprio endpoint: --endpoint-url usa apenas as credenciais que estão nessa URL. Ela precisa ser uma URL segura ou de loopback, sem informações de usuário.

Qual das chaves da conta uma chamada usa

Uma conta pode ter várias chaves RPC. O erpc rpc call e o erpc webhook run testam as chaves em ordem, a principal primeiro, com uma chamada getHealth para cada chave antes de fazerem a própria chamada. A chave é avaliada no RPC compartilhado da Solana, qualquer que seja a chain chamada depois.
Quando o RPC não aceita nenhuma chave e não foi possível consultá-lo sobre uma delas, o comando segue com a primeira chave sobre a qual não conseguiu consultá-lo, e a própria chamada do comando mostra o resultado. Quando todas as chaves são recusadas, o comando falha com the shared RPC takes none of the account's API keys from this machine (<n> tried): consulte Quando algo falha.

Pagar por chamada com x402

Para acesso pago por chamada sem conta, solicite uma cotação x402. --quote imprime a cotação sem ler uma wallet nem fazer um pagamento.
Para pagar, execute o comando sem --quote em um terminal. O CLI mostra o valor, pede confirmação e assina o pagamento cotado em EURC na Base com a wallet que o erpc wallet create configurou. Mantenha EURC na Base nessa wallet (Pagar a partir de uma wallet).
sh
erpc rpc call getSlot --network solana-mainnet --x402 --quote
erpc rpc call eth_blockNumber --x402

Enviar eventos para a sua URL

Um webhook local assina o WebSocket do RPC e envia eventos via POST para a sua URL. Inicie um receptor, crie a assinatura e depois execute o ID que o create retorna, em um terminal ou sob o seu supervisor de processos.
sh
erpc webhook create --name slots --network solana-mainnet \
  --url http://127.0.0.1:8080/events --method slotSubscribe
erpc webhook create --name heads --network ethereum-mainnet \
  --url http://127.0.0.1:8080/events --method eth_subscribe --params '["newHeads"]'
erpc webhook list
erpc webhook run 1
Para a atividade de uma wallet na Solana, use --template solana-wallet --wallet ADDRESS no lugar de --method. Para logs de contratos no Ethereum, use --template evm-contract-events --address CONTRACT. A URL de callback é HTTPS ou HTTP de loopback, e as redes são as mesmas do erpc rpc call.

O que o seu receptor recebe

  • Cada POST contém webhook_id, network e a notification JSON-RPC original. Retorne HTTP 2xx para aceitá-lo.
  • A entrega começa na assinatura ativa no momento. Reiniciar o executor assina eventos novos.
  • Uma desconexão ou uma falha no callback encerra o executor com um status diferente de zero.
  • O erpc webhook run aceita --once para testar uma única entrega e --endpoint-url para usar o seu próprio RPC WebSocket.

Gerenciar webhooks

ComandoO que faz
erpc webhook listLista as assinaturas salvas
erpc webhook show IDMostra uma assinatura. As credenciais do callback são omitidas
erpc webhook enabled-countConta as assinaturas habilitadas nesta máquina
erpc webhook pause IDDesabilita a entrega. Um executor que estiver em execução é encerrado
erpc webhook activate IDHabilita um run posterior
erpc webhook delete IDRemove a definição
Esses comandos apenas inspecionam e alteram a configuração local. Em scripts, passe --yes para pause, activate e delete.