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.
PerintahFungsinya
validator (v), rpc (r), node (n)Validator dan RPC node
rpc callMengirim satu request JSON-RPC ke endpoint bersama, kustom, atau x402 (Panggilan RPC dan webhook)
webhookMengelola subscription RPC lokal dan mengirimkan event ke callback HTTP
ai, resume, memory, skillsERPC AI, percakapan yang tersimpan, ingatan, dan skill-nya
worker (w)Aplikasi milik Anda sendiri di server
storage (st), backupERPC Global Storage dan backup mesin (di bawah)
walletWallet Base yang membeli ERPC Credit dengan EURC (Membayar dari wallet)
signup, login, logout, whoamiAkun ERPC Anda (Masuk dan kunci)
doctorMelaporkan cara mesin ini menyimpan sesi Anda
configMembaca dan mengubah ~/.erpc/config.toml (hanya pengaturan publik). erpc config init menulis file awal yang diberi komentar, kecuali file itu sudah ada
versionInformasi versi, build, dan komponen
completionsMembuat 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.
ExitKodeArti
0Berhasil
1failedTidak dapat melakukan yang diminta
2usageCommand line tidak dapat dipakai
3needs_terminalSeseorang harus menjawab: berikan --yes atau jalankan di terminal
4not_signed_inJalankan erpc login
5problems_foundSebuah pemeriksaan (status, doctor) menemukan masalah, dan laporannya menyebutkan masalah apa saja
6declinedAnda menjawab tidak, dan tidak ada yang diubah
7networkERPC 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.

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.
PerintahFungsinya
erpc backup initMenginstal 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 snapshotsSnapshot 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 checkMemeriksa repositori dan membaca ulang 5% data
erpc backup pruneMempertahankan 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 statusJadwalnya, dan bagaimana run terakhir berakhir
erpc backup password --showMenampilkan 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).