Llama a métodos RPC y envía eventos a tu URL con ERPC CLI

erpc rpc call envía una solicitud JSON-RPC desde tu terminal con la cuenta de ERPC con la que has iniciado sesión, o paga por llamada con x402. erpc webhook envía eventos RPC a tu URL mediante POST.
Esta página describe ERPC CLI v0.1.0-rc.4, una versión preliminar.

Llamar a un método RPC

Usa la cuenta de ERPC con la que has iniciado sesión para llamar a la mainnet de Solana o de Ethereum. El CLI selecciona el endpoint compartido a partir del método, o puedes seleccionar tú la red.
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
  • Los parámetros son un array o un objeto JSON, un archivo con --params-file, o - para la entrada estándar. Sin ellos, una llamada envía [].
  • Las redes son solana-mainnet y ethereum-mainnet (también eth-mainnet). erpc rpc list-networks muestra las redes con RPC compartido de ERPC y RPC x402.
  • Tu propio endpoint: --endpoint-url usa solo las credenciales de esa URL. Debe ser una URL segura o loopback, sin información de usuario.

Qué clave de la cuenta usa una llamada

Una cuenta puede tener varias claves RPC. erpc rpc call y erpc webhook run las prueban en orden, empezando por la principal, con una llamada getHealth por cada clave antes de su propia llamada. La clave se evalúa en el RPC compartido de Solana, sea cual sea la cadena a la que se llame después.
Cuando el RPC no acepta ninguna clave y no se le pudo preguntar por alguna de ellas, el comando continúa con la primera clave por la que no se le pudo preguntar, y su propia llamada lo dirá. Cuando se rechazan todas las claves, el comando falla con the shared RPC takes none of the account's API keys from this machine (<n> tried): consulta Si algo falla.

Pagar por llamada con x402

Para acceder pagando por llamada sin cuenta, solicita una cotización x402. --quote muestra la cotización sin leer ninguna wallet ni hacer ningún pago.
Para pagar, ejecuta el comando sin --quote en un terminal. El CLI muestra el importe, pide confirmación y firma el pago cotizado en EURC en Base con la wallet que configuró erpc wallet create. Mantén EURC en Base en esa wallet (Pagar desde una wallet).
sh
erpc rpc call getSlot --network solana-mainnet --x402 --quote
erpc rpc call eth_blockNumber --x402

Enviar eventos a tu URL

Un webhook local se suscribe al WebSocket del RPC y envía eventos a tu URL mediante POST. Inicia un receptor, crea la suscripción y después ejecuta el ID que devuelve create, en un terminal o bajo tu supervisor de procesos.
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 la actividad de una wallet en Solana, usa --template solana-wallet --wallet ADDRESS en lugar de --method. Para los logs de contratos de Ethereum, usa --template evm-contract-events --address CONTRACT. La URL del callback es HTTPS o HTTP por loopback, y las redes son las mismas que las de erpc rpc call.

Lo que recibe tu receptor

  • Cada POST contiene webhook_id, network y la notification JSON-RPC original. Devuelve HTTP 2xx para aceptarlo.
  • La entrega empieza en la suscripción en vivo actual. Al reiniciar el runner, este se suscribe a eventos nuevos.
  • Una desconexión o un callback fallido terminan el runner con un estado distinto de cero.
  • erpc webhook run acepta --once para probar una sola entrega y --endpoint-url para usar tu propio RPC WebSocket.

Gestionar webhooks

ComandoQué hace
erpc webhook listMuestra la lista de suscripciones guardadas
erpc webhook show IDMuestra una suscripción. Las credenciales del callback se omiten
erpc webhook enabled-countCuenta las suscripciones habilitadas en esta máquina
erpc webhook pause IDDesactiva la entrega. Un runner que esté en ejecución termina
erpc webhook activate IDHabilita un run posterior
erpc webhook delete IDElimina la definición
Estos comandos solo consultan y cambian la configuración local. En scripts, pasa --yes a pause, activate y delete.