---
title: "Comandi di ERPC CLI"
description: "Tutti i gruppi di comandi di ERPC CLI, le opzioni globali --json e --lang, il formato degli errori e gli exit code, e i comandi erpc storage ed erpc backup."
canonical: "https://erpc.global/it/doc/erpc-cli/commands/"
locale: "it"
---

# 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.

| Comando | Cosa fa |
| --- | --- |
| `validator` (`v`), `rpc` (`r`), `node` (`n`) | [Validator e nodi RPC](https://erpc.global/it/doc/erpc-cli/nodes/) |
| `rpc call` | Invia una richiesta JSON-RPC a un endpoint condiviso, personalizzato o x402 ([Chiamate RPC e webhook](https://erpc.global/it/doc/erpc-cli/rpc-call-and-webhooks/)) |
| `webhook` | Gestisce le sottoscrizioni RPC locali e consegna gli eventi a una callback HTTP |
| `ai`, `resume`, `memory`, `skills` | [ERPC AI](https://erpc.global/it/doc/erpc-cli/ai/), le sue conversazioni salvate, i ricordi e le skill |
| `worker` (`w`) | [Le tue app](https://erpc.global/it/doc/erpc-cli/worker-quickstart/) su un server |
| `storage` (`st`), `backup` | ERPC Global Storage e backup delle macchine ([più sotto](https://erpc.global/it/doc/erpc-cli/commands/#storage-e-backup)) |
| `wallet` | Il wallet Base che acquista ERPC Credit con EURC ([Pagare da un wallet](https://erpc.global/it/doc/erpc-cli/ai/#pagare-da-un-wallet)) |
| `signup`, `login`, `logout`, `whoami` | Il tuo account ERPC ([Accesso e chiavi](https://erpc.global/it/doc/erpc-cli/sign-in-and-keys/)) |
| `doctor` | Indica come questa macchina conserva la tua sessione |
| `config` | Legge e modifica `~/.erpc/config.toml` (solo impostazioni pubbliche). `erpc config init` scrive un file iniziale commentato, a meno che non ne esista già uno |
| `version` | Versione, build e informazioni sui componenti |
| `completions` | Genera 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.

| Uscita | Codice | Significato |
| --- | --- | --- |
| 0 | | Ha funzionato |
| 1 | `failed` | Non è riuscito a fare ciò che era richiesto |
| 2 | `usage` | La riga di comando non era utilizzabile |
| 3 | `needs_terminal` | Una persona deve rispondere: passa `--yes` o eseguilo in un terminale |
| 4 | `not_signed_in` | Esegui `erpc login` |
| 5 | `problems_found` | Un controllo (`status`, `doctor`) ha trovato problemi, e il suo report indica quali |
| 6 | `declined` | Hai risposto di no, e non è stato modificato nulla |
| 7 | `network` | Non è 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](https://erpc.global/it/price/).

### 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.

| Comando | Cosa fa |
| --- | --- |
| `erpc backup init` | Installa 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 snapshots` | Gli 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 check` | Verifica il repository e rilegge il 5% dei dati |
| `erpc backup prune` | Conserva 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 status` | La pianificazione e l'esito dell'ultima esecuzione |
| `erpc backup password --show` | Stampa 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](https://erpc.global/it/doc/erpc-cli/worker-status-and-billing/#fare-il-backup-dei-dati-di-stato-dellapp)).
