Chiama metodi RPC e invia eventi al tuo URL con ERPC CLI

erpc rpc call invia una richiesta JSON-RPC dal tuo terminale usando l'account ERPC con cui hai effettuato l'accesso, oppure paga ogni chiamata con x402. erpc webhook invia con POST gli eventi RPC al tuo URL.
Questa pagina descrive ERPC CLI v0.1.0-rc.4, una versione pre-release.

Chiamare un metodo RPC

Usa l'account ERPC con cui hai effettuato l'accesso per chiamare la mainnet di Solana o di Ethereum. La CLI sceglie l'endpoint condiviso in base al metodo, oppure puoi selezionare tu la rete.
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
  • I parametri sono un array o un oggetto JSON, un file con --params-file, oppure - per lo standard input. Senza parametri, una chiamata invia [].
  • Le reti sono solana-mainnet ed ethereum-mainnet (anche eth-mainnet). erpc rpc list-networks elenca le reti con RPC condiviso di ERPC e RPC x402.
  • Il tuo endpoint: --endpoint-url usa solo le credenziali contenute in quell'URL. Deve essere un URL sicuro o di loopback, senza informazioni utente.

Quale chiave dell'account viene usata da una chiamata

Un account può avere più chiavi RPC. erpc rpc call ed erpc webhook run le provano in ordine, a partire da quella primaria, con una chiamata getHealth per ciascuna chiave prima della propria chiamata. La chiave viene valutata sull'RPC Solana condiviso, qualunque sia la chain chiamata dopo.
Quando l'RPC non accetta nessuna chiave e per una di esse non è stato possibile interrogarlo, il comando prosegue con la prima chiave per cui non è stato possibile interrogarlo, e l'esito lo dirà la sua stessa chiamata. Quando tutte le chiavi vengono rifiutate, il comando fallisce con the shared RPC takes none of the account's API keys from this machine (<n> tried): vedi In caso di errore.

Pagare a chiamata con x402

Per un accesso a pagamento per chiamata senza account, richiedi un preventivo x402. --quote stampa il preventivo senza leggere un wallet né effettuare un pagamento.
Per pagare, esegui il comando senza --quote in un terminale. La CLI mostra l'importo, chiede conferma e firma con il wallet configurato da erpc wallet create il pagamento in EURC su Base indicato nel preventivo. Tieni EURC su Base in quel wallet (Pagare da un wallet).
sh
erpc rpc call getSlot --network solana-mainnet --x402 --quote
erpc rpc call eth_blockNumber --x402

Inviare eventi al tuo URL

Un webhook locale si sottoscrive al WebSocket RPC e invia con POST gli eventi al tuo URL. Avvia un receiver, crea la sottoscrizione, poi esegui l'ID restituito da create, in un terminale o sotto il tuo supervisore di processi.
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
Per l'attività dei wallet su Solana, usa --template solana-wallet --wallet ADDRESS al posto di --method. Per i log dei contratti Ethereum, usa --template evm-contract-events --address CONTRACT. L'URL di callback è HTTPS o HTTP di loopback, e le reti sono le stesse di erpc rpc call.

Cosa arriva al tuo receiver

  • Ogni POST contiene webhook_id, network e la notification JSON-RPC originale. Restituisci HTTP 2xx per accettarlo.
  • La consegna parte dalla sottoscrizione attiva al momento. Riavviare il runner crea una sottoscrizione ai nuovi eventi.
  • Una disconnessione o una callback non riuscita terminano il runner con uno stato di uscita diverso da zero.
  • erpc webhook run accetta --once per provare una singola consegna e --endpoint-url per usare il tuo RPC WebSocket.

Gestire i webhook

ComandoCosa fa
erpc webhook listElenca le sottoscrizioni salvate
erpc webhook show IDMostra una sottoscrizione. Le credenziali della callback vengono omesse
erpc webhook enabled-countConta le sottoscrizioni abilitate su questa macchina
erpc webhook pause IDDisabilita la consegna. Un runner in esecuzione termina
erpc webhook activate IDAbilita un run successivo
erpc webhook delete IDRimuove la definizione
Questi comandi leggono e modificano solo la configurazione locale. Negli script, passa --yes a pause, activate e delete.