Comandos de ERPC CLI

Todos los grupos de comandos de ERPC CLI en una tabla, las opciones que funcionan en todos los comandos y los códigos de salida en los que puede confiar un script.
Esta página describe ERPC CLI v0.1.0-rc.4, una versión preliminar.

Grupos de comandos

Ejecuta cualquier grupo de comandos sin verbo, como erpc validator o erpc worker, para ver la lista de sus verbos.
ComandoQué hace
validator (v), rpc (r), node (n)Validadores y nodos RPC
rpc callEnvía una solicitud JSON-RPC a un endpoint compartido, personalizado o x402 (Llamadas RPC y webhooks)
webhookGestiona suscripciones RPC locales y entrega eventos a un callback HTTP
ai, resume, memory, skillsERPC AI, sus conversaciones guardadas, sus recuerdos y sus skills
worker (w)Tus propias aplicaciones en un servidor
storage (st), backupERPC Global Storage y copias de seguridad de máquinas (abajo)
walletLa wallet de Base que compra ERPC Credit con EURC (Pagar desde una wallet)
signup, login, logout, whoamiTu cuenta de ERPC (Inicio de sesión y claves)
doctorInforma de cómo guarda esta máquina tu sesión
configLee y cambia ~/.erpc/config.toml (solo ajustes públicos). erpc config init escribe un archivo inicial con comentarios, salvo que ya haya uno
versionInformación de versión, compilación y componentes
completionsGenera el autocompletado del shell: erpc completions zsh, y también bash, fish, powershell y elvish

Opciones globales

  • --json da una salida legible por máquina: erpc --json <command>. ERPC_JSON=true tiene el mismo efecto. En los comandos de nodo, --json tiene que ir antes del comando.
  • --lang establece el idioma en el que habla erpc: en, ja, zh o ru. Sin esta opción, erpc usa el ajuste locale y, si no lo hay, el idioma del sistema.

Errores y códigos de salida

Un fallo se lee igual en todas partes: una línea error: que dice qué salió mal y una línea hint: que dice qué hacer a continuación, cuando la hay. Con --json, un fallo es un único objeto en la salida estándar, {"error": {"code", "exit", "message", "hint"}}. En dos casos se imprime en su lugar el mensaje propio de clap y el estado de salida es 2: una línea de comandos que clap no puede analizar en un terminal, y un argumento que el verbo de un árbol de nodos (erpc validator, rpc, node) no acepta, incluso con --json. Un campo details aparece solo cuando un comando tiene algo más que decir a un script sobre lo que hizo antes de fallar, y nunca en un terminal.
SalidaCódigoSignificado
0Ha funcionado
1failedNo ha podido hacer lo que se pidió
2usageLa línea de comandos no era utilizable
3needs_terminalUna persona debe responder: pasa --yes o ejecútalo en un terminal
4not_signed_inEjecuta erpc login
5problems_foundUna comprobación (status, doctor) encontró problemas, y su informe dice cuáles
6declinedDijiste que no, y no se cambió nada
7networkNo se pudo llegar a ERPC o a otro servicio
Si se detiene con Ctrl-C (o SIGTERM, SIGHUP), erpc termina por la propia señal, así que un bucle de un script también se detiene. Un código publicado conserva su nombre y su estado de salida, y un código nunca se reutiliza.

Almacenamiento y copias de seguridad

bash
erpc storage buy 5        # an ERPC Global Storage plan
erpc backup init          # back this machine up with restic, on a schedule if you like
erpc storage buy compra un plan de ERPC Global Storage, que se paga con ERPC Credit. Los planes y los precios están en la página Precios.

erpc storage

  • erpc storage put cifra un archivo en esta máquina antes de enviar ninguna parte de él, salvo que se indique --no-encrypt. ERPC solo almacena los bytes cifrados y nunca tiene la clave. erpc storage get detecta un archivo cifrado y lo descifra.
  • Hay una clave de almacenamiento por cuenta, guardada en el almacén que eligió erpc login. erpc no la guarda en el keyring del kernel de Linux, que se pierde al reiniciar: inicia sesión con --store 1password o --store file, o usa --no-encrypt. Con el almacén file, la clave está en ~/.erpc/storage-key (modo 0600), sin cifrar. --no-encrypt sube el archivo que envías tal cual, sin cifrar.
  • Si pierdes la clave de almacenamiento, pierdes todos los archivos cifrados con ella, y ERPC no puede recuperarla. erpc storage key export --show muestra la clave para que se pueda guardar una copia lejos de la máquina, y erpc storage key import la vuelve a cargar en otra máquina.
  • La ruta bajo la que se almacena un archivo, y su tamaño, son visibles para ERPC.
  • erpc storage keys list muestra las claves de acceso al almacenamiento, y erpc storage keys revoke <n> revoca una.

erpc backup

erpc backup hace una copia de seguridad de una máquina en ERPC Global Storage con restic. Los archivos se cifran en tu máquina antes de salir de ella, y ERPC nunca tiene una contraseña que abra las copias de seguridad.
ComandoQué hace
erpc backup initInstala restic, crea las claves de acceso y el repositorio, y da a esta máquina su propia clave de restic
erpc backup run [paths]Hace la copia de seguridad. En Linux, sin rutas, / menos los pseudosistemas de archivos, los puntos de montaje y las rutas volátiles. En otros sistemas, indica las rutas
erpc backup snapshotsLas instantáneas de esta máquina; --all-hosts para las de todas las máquinas
erpc backup restore <id|latest>Restaura en un directorio nuevo salvo que --target indique otro. --in-place sobrescribe esta máquina, tras preguntar
erpc backup checkComprueba el repositorio y vuelve a leer el 5% de los datos
erpc backup pruneConserva 7 instantáneas diarias, 4 semanales y 6 mensuales de una máquina, tras preguntar
erpc backup schedule daily|weekly|off [paths]Ejecuta run con un temporizador, a la hora indicada en --at (por defecto 03:00)
erpc backup statusLa programación y cómo terminó la última ejecución
erpc backup password --showMuestra la contraseña maestra del repositorio, para guardar una copia en otro lugar
  • Cada máquina recibe una clave de solo adición que no puede eliminar sus propias copias de seguridad. La máquina en la que ejecutaste erpc backup init también tiene las claves que sí pueden, así que la protección solo se mantiene en una máquina que no guarde ni la sesión de erpc ni los secretos de copia de seguridad de la cuenta.
  • Guarda una copia de erpc backup password --show lejos de las máquinas. Si pierdes la contraseña maestra y el backup.env de todas las máquinas, pierdes las copias de seguridad.
  • Una copia de seguridad excluye los archivos de claves conocidos y los secretos del sistema, como .ssh/id_*, .config/solana/id.json, la sesión de erpc y las claves de host SSH. El material de claves con otro nombre o en otro lugar se copia como cualquier otro archivo: exclúyelo con --exclude.
  • erpc instala restic 0.19.1 y comprueba tanto el archivo comprimido como el programa con resúmenes SHA-256 compilados en erpc.
  • Programación: en Linux, sudo erpc backup init y después sudo erpc backup schedule daily. En macOS, erpc backup schedule daily ~/Documents; la tarea se ejecuta con tu usuario, mientras tengas la sesión iniciada.
  • Las copias de seguridad van a la región predeterminada de la cuenta. erpc backup se ejecuta en la máquina de la que hace la copia; el servidor de un worker se configura en su lugar con erpc worker backup on (Hacer una copia de seguridad de los datos de estado de la aplicación).