Comandi di ERPC CLI

Tutti i gruppi di comandi di ERPC CLI in un'unica tabella, le opzioni che funzionano con ogni comando e gli exit code su cui uno script può fare affidamento.
Questa pagina descrive ERPC CLI v0.1.0-rc.4, una versione pre-release.

Gruppi di comandi

Esegui un qualsiasi gruppo di comandi senza verbo, come erpc validator o erpc worker, per elencarne i verbi.
ComandoCosa fa
validator (v), rpc (r), node (n)Validator e nodi RPC
rpc callInvia una richiesta JSON-RPC a un endpoint condiviso, personalizzato o x402 (Chiamate RPC e webhook)
webhookGestisce le sottoscrizioni RPC locali e consegna gli eventi a una callback HTTP
ai, resume, memory, skillsERPC AI, le sue conversazioni salvate, i ricordi e le skill
worker (w)Le tue app su un server
storage (st), backupERPC Global Storage e backup delle macchine (più sotto)
walletIl wallet Base che acquista ERPC Credit con EURC (Pagare da un wallet)
signup, login, logout, whoamiIl tuo account ERPC (Accesso e chiavi)
doctorIndica come questa macchina conserva la tua sessione
configLegge e modifica ~/.erpc/config.toml (solo impostazioni pubbliche). erpc config init scrive un file iniziale commentato, a meno che non ne esista già uno
versionVersione, build e informazioni sui componenti
completionsGenera i completamenti per la shell: erpc completions zsh, e anche bash, fish, powershell ed elvish

Opzioni globali

  • --json fornisce un output leggibile dalle macchine: erpc --json <command>. ERPC_JSON=true ha lo stesso effetto. Nei comandi dei nodi, --json deve precedere il comando.
  • --lang imposta la lingua in cui parla erpc: en, ja, zh o ru. Senza questa opzione, erpc usa l'impostazione locale, altrimenti la lingua del sistema.

Errori ed exit code

Un errore si presenta ovunque allo stesso modo: una riga error: che dice cosa è andato storto e, quando c'è, una riga hint: che dice cosa fare dopo. Con --json, un errore è un unico oggetto sullo standard output, {"error": {"code", "exit", "message", "hint"}}. In due casi viene invece stampato il messaggio di clap stesso e lo stato di uscita è 2: una riga di comando che clap non riesce ad analizzare in un terminale, e un argomento che il verbo di un albero di nodi (erpc validator, rpc, node) non accetta, anche con --json. Un campo details compare solo quando un comando ha altro da dire a uno script su ciò che ha fatto prima di fallire, e mai in un terminale.
UscitaCodiceSignificato
0Ha funzionato
1failedNon è riuscito a fare ciò che era richiesto
2usageLa riga di comando non era utilizzabile
3needs_terminalUna persona deve rispondere: passa --yes o eseguilo in un terminale
4not_signed_inEsegui erpc login
5problems_foundUn controllo (status, doctor) ha trovato problemi, e il suo report indica quali
6declinedHai risposto di no, e non è stato modificato nulla
7networkNon è stato possibile raggiungere ERPC o un altro servizio
Se viene fermato con Ctrl-C (o con SIGTERM, SIGHUP), erpc termina per effetto del segnale stesso, così si ferma anche un ciclo in uno script. Un codice pubblicato mantiene il suo nome e il suo stato di uscita, e un codice non viene mai riutilizzato.

Storage e backup

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 acquista un piano ERPC Global Storage, pagato con ERPC Credit. Piani e prezzi sono su Prezzi.

erpc storage

  • erpc storage put cifra un file su questa macchina prima di inviarne qualsiasi parte, a meno che non venga indicato --no-encrypt. ERPC conserva solo i byte cifrati e non detiene mai la chiave. erpc storage get riconosce un file cifrato e lo decifra.
  • Esiste una sola chiave di storage per account, conservata nell'archivio scelto da erpc login. erpc non la conserva nel keyring del kernel Linux, che va perso al riavvio: accedi con --store 1password o --store file, oppure usa --no-encrypt. Con l'archivio file la chiave si trova in ~/.erpc/storage-key (modalità 0600), non cifrata. --no-encrypt carica il file che stai inviando così com'è, senza cifrarlo.
  • Perdere la chiave di storage significa perdere tutti i file cifrati con essa, ed ERPC non può recuperarla. erpc storage key export --show stampa la chiave, così che se ne possa conservare una copia lontano dalla macchina, ed erpc storage key import la reimporta su un'altra macchina.
  • Il percorso in cui un file è archiviato e la sua dimensione sono visibili a ERPC.
  • erpc storage keys list mostra le chiavi di accesso allo storage, ed erpc storage keys revoke <n> ne revoca una.

erpc backup

erpc backup esegue il backup di una macchina su ERPC Global Storage con restic. I file vengono cifrati sulla tua macchina prima di lasciarla, ed ERPC non detiene mai una password che apra i backup.
ComandoCosa fa
erpc backup initInstalla restic, crea le chiavi di accesso e il repository, e assegna a questa macchina una propria chiave restic
erpc backup run [paths]Esegue il backup. Su Linux, senza percorsi, / esclusi gli pseudo-filesystem, i mount e i percorsi volatili. Altrove, indica i percorsi
erpc backup snapshotsGli snapshot di questa macchina; --all-hosts per quelli di tutte le macchine
erpc backup restore <id|latest>Ripristina in una nuova directory, a meno che --target non ne indichi un'altra. --in-place sovrascrive questa macchina, dopo aver chiesto conferma
erpc backup checkVerifica il repository e rilegge il 5% dei dati
erpc backup pruneConserva 7 snapshot giornalieri, 4 settimanali e 6 mensili di una macchina, dopo aver chiesto conferma
erpc backup schedule daily|weekly|off [paths]Esegue run con un timer, all'ora indicata da --at (predefinita 03:00)
erpc backup statusLa pianificazione e l'esito dell'ultima esecuzione
erpc backup password --showStampa la password master del repository, per conservarne una copia altrove
  • Ogni macchina riceve una chiave append-only che non può eliminare i propri backup. La macchina su cui hai eseguito erpc backup init detiene anche le chiavi che possono farlo, quindi la protezione vale solo su una macchina che non conservi né la sessione di erpc né i secret di backup dell'account.
  • Conserva una copia di erpc backup password --show lontano dalle macchine. Perdere la password master e il backup.env di ogni macchina significa perdere i backup.
  • Un backup esclude i file di chiavi noti e i secret di sistema, come .ssh/id_*, .config/solana/id.json, la sessione di erpc e le chiavi host SSH. Il materiale di chiavi con un altro nome o in un'altra posizione viene salvato come qualsiasi altro file: escludilo con --exclude.
  • erpc installa restic 0.19.1 e verifica sia l'archivio sia il programma rispetto a digest SHA-256 compilati in erpc.
  • Pianificazione: su Linux, sudo erpc backup init, poi sudo erpc backup schedule daily. Su macOS, erpc backup schedule daily ~/Documents; il job viene eseguito con il tuo utente, mentre hai una sessione aperta.
  • I backup vanno nella regione predefinita dell'account. erpc backup viene eseguito sulla macchina di cui fa il backup; il server di un worker si configura invece con erpc worker backup on (Fare il backup dei dati di stato dell'app).