---
title: "Perintah ERPC CLI"
description: "Semua grup perintah ERPC CLI, opsi global --json dan --lang, format error dan exit code, serta perintah erpc storage dan erpc backup."
canonical: "https://erpc.global/id/doc/erpc-cli/commands/"
locale: "id"
---

# Perintah ERPC CLI

Semua grup perintah ERPC CLI dalam satu tabel, opsi yang berlaku di setiap perintah, dan exit code yang dapat diandalkan oleh skrip.

Halaman ini menjelaskan ERPC CLI `v0.1.0-rc.4`, versi pra-rilis.

## Grup perintah

Jalankan grup perintah apa pun tanpa verb, seperti `erpc validator` atau `erpc worker`, untuk menampilkan daftar verb-nya.

| Perintah | Fungsinya |
| --- | --- |
| `validator` (`v`), `rpc` (`r`), `node` (`n`) | [Validator dan RPC node](https://erpc.global/id/doc/erpc-cli/nodes/) |
| `rpc call` | Mengirim satu request JSON-RPC ke endpoint bersama, kustom, atau x402 ([Panggilan RPC dan webhook](https://erpc.global/id/doc/erpc-cli/rpc-call-and-webhooks/)) |
| `webhook` | Mengelola subscription RPC lokal dan mengirimkan event ke callback HTTP |
| `ai`, `resume`, `memory`, `skills` | [ERPC AI](https://erpc.global/id/doc/erpc-cli/ai/), percakapan yang tersimpan, ingatan, dan skill-nya |
| `worker` (`w`) | [Aplikasi milik Anda sendiri](https://erpc.global/id/doc/erpc-cli/worker-quickstart/) di server |
| `storage` (`st`), `backup` | ERPC Global Storage dan backup mesin ([di bawah](https://erpc.global/id/doc/erpc-cli/commands/#penyimpanan-dan-backup)) |
| `wallet` | Wallet Base yang membeli ERPC Credit dengan EURC ([Membayar dari wallet](https://erpc.global/id/doc/erpc-cli/ai/#membayar-dari-wallet)) |
| `signup`, `login`, `logout`, `whoami` | Akun ERPC Anda ([Masuk dan kunci](https://erpc.global/id/doc/erpc-cli/sign-in-and-keys/)) |
| `doctor` | Melaporkan cara mesin ini menyimpan sesi Anda |
| `config` | Membaca dan mengubah `~/.erpc/config.toml` (hanya pengaturan publik). `erpc config init` menulis file awal yang diberi komentar, kecuali file itu sudah ada |
| `version` | Informasi versi, build, dan komponen |
| `completions` | Membuat completion shell: `erpc completions zsh`, serta bash, fish, powershell, dan elvish |

## Opsi global

- **`--json`** menghasilkan output yang dapat dibaca mesin: `erpc --json <command>`. `ERPC_JSON=true` memiliki efek yang sama. Pada perintah node, `--json` harus ditulis sebelum perintahnya.
- **`--lang`** mengatur bahasa yang dipakai erpc: `en`, `ja`, `zh`, atau `ru`. Tanpa opsi ini, erpc memakai pengaturan `locale`, atau jika tidak ada, bahasa sistem.

## Error dan exit code

Kegagalan selalu tampil dalam bentuk yang sama: baris `error:` yang menyatakan apa yang salah, dan baris `hint:` yang menyatakan apa yang perlu dilakukan selanjutnya, jika ada. Dengan `--json`, kegagalan berupa satu objek di standard output, `{"error": {"code", "exit", "message", "hint"}}`. Ada dua kasus yang justru mencetak pesan milik clap sendiri dan keluar dengan status 2: command line yang tidak dapat di-parse oleh clap di terminal, dan argumen yang tidak diterima oleh verb dari sebuah pohon node (`erpc validator`, `rpc`, `node`), bahkan dengan `--json`. Field `details` hanya muncul jika sebuah perintah memiliki hal lain untuk disampaikan kepada skrip tentang apa yang sudah dilakukannya sebelum gagal, dan tidak pernah muncul di terminal.

| Exit | Kode | Arti |
| --- | --- | --- |
| 0 | | Berhasil |
| 1 | `failed` | Tidak dapat melakukan yang diminta |
| 2 | `usage` | Command line tidak dapat dipakai |
| 3 | `needs_terminal` | Seseorang harus menjawab: berikan `--yes` atau jalankan di terminal |
| 4 | `not_signed_in` | Jalankan `erpc login` |
| 5 | `problems_found` | Sebuah pemeriksaan (`status`, `doctor`) menemukan masalah, dan laporannya menyebutkan masalah apa saja |
| 6 | `declined` | Anda menjawab tidak, dan tidak ada yang diubah |
| 7 | `network` | ERPC atau layanan lain tidak dapat dijangkau |

Jika dihentikan dengan Ctrl-C (atau SIGTERM, SIGHUP), erpc berakhir oleh sinyal itu sendiri, sehingga loop dalam skrip juga ikut berhenti. Kode yang sudah dipublikasikan tetap memakai nama dan status keluarnya, dan sebuah kode tidak pernah dipakai ulang.

## Penyimpanan dan 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` membeli paket ERPC Global Storage, yang dibayar dari ERPC Credit. Paket dan harga tercantum di [Harga](https://erpc.global/id/price/).

### erpc storage

- `erpc storage put` mengenkripsi file di mesin ini sebelum bagian mana pun darinya dikirim, kecuali `--no-encrypt` diberikan. ERPC hanya menyimpan byte yang terenkripsi dan tidak pernah memegang kuncinya. `erpc storage get` mengenali file yang terenkripsi dan mendekripsinya.
- Ada satu kunci penyimpanan per akun, yang disimpan di store yang dipilih oleh `erpc login`. erpc tidak menyimpannya di keyring kernel Linux, yang hilang saat reboot: masuk dengan `--store 1password` atau `--store file`, atau gunakan `--no-encrypt`. Dengan store `file`, kunci berada di `~/.erpc/storage-key` (mode 0600) dalam keadaan tidak terenkripsi. `--no-encrypt` mengunggah file yang Anda kirim apa adanya, tanpa enkripsi.
- **Kehilangan kunci penyimpanan berarti kehilangan setiap file yang dienkripsi dengannya**, dan ERPC tidak dapat memulihkannya. `erpc storage key export --show` menampilkan kunci tersebut agar salinannya dapat disimpan di luar mesin, dan `erpc storage key import` memasukkannya kembali di mesin lain.
- Path tempat sebuah file disimpan, beserta ukurannya, dapat dilihat oleh ERPC.
- `erpc storage keys list` menampilkan access key penyimpanan, dan `erpc storage keys revoke <n>` mencabut salah satunya.

### erpc backup

`erpc backup` mem-backup sebuah mesin ke ERPC Global Storage dengan restic. File dienkripsi di mesin Anda sebelum meninggalkannya, dan ERPC tidak pernah memegang kata sandi yang dapat membuka backup tersebut.

| Perintah | Fungsinya |
| --- | --- |
| `erpc backup init` | Menginstal restic, membuat access key dan repositori, serta memberi mesin ini kunci restic miliknya sendiri |
| `erpc backup run [paths]` | Melakukan backup. Di Linux, tanpa path, `/` dikurangi pseudo-filesystem, mount, dan path yang volatil. Di sistem lain, sebutkan path-nya |
| `erpc backup snapshots` | Snapshot mesin ini; `--all-hosts` untuk snapshot semua mesin |
| `erpc backup restore <id\|latest>` | Memulihkan ke direktori baru kecuali `--target` menyebutkan direktori lain. `--in-place` menimpa mesin ini, setelah bertanya |
| `erpc backup check` | Memeriksa repositori dan membaca ulang 5% data |
| `erpc backup prune` | Mempertahankan 7 snapshot harian, 4 mingguan, dan 6 bulanan dari satu mesin, setelah bertanya |
| `erpc backup schedule daily\|weekly\|off [paths]` | Menjalankan `run` dengan timer, pada `--at` (default 03:00) |
| `erpc backup status` | Jadwalnya, dan bagaimana run terakhir berakhir |
| `erpc backup password --show` | Menampilkan kata sandi master repositori, untuk menyimpan salinannya di tempat lain |

- **Setiap mesin mendapat kunci append-only** yang tidak dapat menghapus backup-nya sendiri. Mesin tempat Anda menjalankan `erpc backup init` juga memegang kunci yang dapat menghapusnya, jadi perlindungan ini hanya berlaku di mesin yang tidak menyimpan sesi erpc maupun secret backup milik akun.
- **Simpan salinan `erpc backup password --show` jauh dari mesin-mesin tersebut.** Kehilangan kata sandi master beserta `backup.env` milik setiap mesin berarti kehilangan backup.
- **Backup tidak menyertakan file kunci yang dikenal dan secret sistem**, seperti `.ssh/id_*`, `.config/solana/id.json`, sesi erpc, dan kunci host SSH. Materi kunci dengan nama lain atau di lokasi lain di-backup seperti file lainnya: kecualikan dengan `--exclude`.
- erpc menginstal restic 0.19.1 dan memeriksa arsip maupun programnya terhadap digest SHA-256 yang dikompilasi ke dalam erpc.
- **Penjadwalan:** di Linux, `sudo erpc backup init`, lalu `sudo erpc backup schedule daily`. Di macOS, `erpc backup schedule daily ~/Documents`; job berjalan sebagai pengguna Anda, selama Anda sedang masuk.
- Backup disimpan di region default akun. `erpc backup` berjalan di mesin yang di-backup-nya; server worker disiapkan dengan `erpc worker backup on` sebagai gantinya ([Backup state aplikasi](https://erpc.global/id/doc/erpc-cli/worker-status-and-billing/#backup-state-aplikasi)).
