ERPC CLI のコマンド一覧

ERPC CLI のすべてのコマンドグループを 1 つの表にまとめ、どのコマンドでも使えるオプションと、スクリプトが頼れる終了コードを載せています。
このページは、プレリリースの ERPC CLI v0.1.0-rc.4 について説明しています。

コマンドグループ

erpc validator や erpc worker のように、コマンドグループを動詞なしで実行すると、その動詞の一覧が表示されます。
コマンド内容
validator (v), rpc (r), node (n)バリデータと RPC ノード
rpc call共有・独自・x402 のエンドポイントに、JSON-RPC のリクエストを 1 つ送ります(RPC と Webhook)
webhookローカルの RPC の購読を管理し、イベントを HTTP のコールバックに届けます
ai, resume, memory, skillsERPC AI と、その保存した会話、記憶、スキル
worker (w)サーバーで動かすあなたのアプリ
storage (st), backupERPC Global Storage とマシンのバックアップ(下)
walletEURC で ERPC Credit を購入する Base のウォレット(ウォレットから支払う)
signup, login, logout, whoamiあなたの ERPC アカウント(ログインと鍵)
doctorこのマシンがセッションをどう保存しているかを報告します
config~/.erpc/config.toml を読み、変更します(公開してよい設定だけ)。erpc config init は、ファイルがまだ無ければ、注釈付きの最初のファイルを書きます
version版、ビルド、構成要素の情報
completionsシェルの補完を生成します。erpc completions zsh のほか、bash、fish、powershell、elvish にも対応します

グローバルオプション

  • --json で、機械が読める出力になります(erpc --json <command>)。ERPC_JSON=true でも同じです。ノードのコマンドでは、--json をコマンドより前に置く必要があります。
  • --lang で、erpc が話す言語を en、ja、zh、ru から選びます。指定しなければ、locale の設定を、それも無ければシステムの言語を使います。

エラーと終了コード

失敗の表示はどこでも同じ形です。何がうまくいかなかったかを言う error: の行と、次にすることがあれば、それを言う hint: の行です。--json では、失敗は標準出力の 1 つのオブジェクト {"error": {"code", "exit", "message", "hint"}} になります。ただし次の 2 つは、代わりに clap 自身のメッセージを表示して 2 で終了します。ターミナルで clap が解析できないコマンドライン、そしてノードのツリー(erpc validator、rpc、node)の動詞が受け付けない引数です。後者は --json を付けていても同じです。details のフィールドは、失敗の前に何をしたかについて、コマンドがスクリプトに伝えることがあるときだけ現れ、ターミナルには決して表示されません。
終了コード意味
0成功しました
1failed求められたことができませんでした
2usageコマンドラインが使える形ではありませんでした
3needs_terminal人が答える必要があります。--yes を付けるか、ターミナルで実行してください
4not_signed_inerpc login を実行してください
5problems_found確認(status、doctor)で問題が見つかりました。どの問題かは、その報告に載っています
6declinedあなたが「no」と答え、何も変更していません
7networkERPC または別のサービスに接続できませんでした
Ctrl-C(または SIGTERM、SIGHUP)で止めると、erpc はそのシグナル自体で終了するので、スクリプトのループも止まります。公開したコードは名前と終了ステータスを変えず、コードを使い回すこともありません。

ストレージとバックアップ

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 は、ERPC Global Storage のプランを ERPC Credit で購入します。プランと料金は料金表に載っています。

erpc storage

  • erpc storage put は、--no-encrypt を付けない限り、ファイルを送る前にこのマシンで暗号化します。ERPC が保存するのは暗号化されたバイトだけで、鍵は持ちません。erpc storage get は、暗号化されたファイルに気づいて復号します。
  • ストレージの鍵はアカウントに 1 つで、erpc login が選んだ保存先に置かれます。erpc は、再起動で消える Linux カーネルのキーリングにはこの鍵を置きません。--store 1password か --store file でログインするか、--no-encrypt を使ってください。file ストアでは、鍵は暗号化されないまま ~/.erpc/storage-key(モード 0600)に置かれます。--no-encrypt を付けると、送るファイルを暗号化せずに、そのままアップロードします。
  • ストレージの鍵を失うと、その鍵で暗号化したファイルはすべて失われます。 ERPC にも鍵を戻すことはできません。erpc storage key export --show で鍵を表示して、マシンから離れた所に控えを置けます。erpc storage key import で、別のマシンに鍵を取り込めます。
  • ファイルを保存したパスとサイズは、ERPC から見えます。
  • erpc storage keys list でストレージのアクセスキーを表示し、erpc storage keys revoke <n> でその 1 つを無効にできます。

erpc backup

erpc backup は、restic でマシンを ERPC Global Storage にバックアップします。ファイルはマシンを出る前にあなたのマシンで暗号化され、ERPC はバックアップを開けるパスワードを持ちません。
コマンド内容
erpc backup initrestic をインストールし、アクセスキーとリポジトリを作り、このマシン専用の restic の鍵を渡します
erpc backup run [paths]バックアップします。Linux でパスを指定しなければ、疑似ファイルシステム・マウント・揮発するパスを除いた / が対象です。それ以外の OS では、パスを指定します
erpc backup snapshotsこのマシンのスナップショット。--all-hosts ですべてのマシンの分
erpc backup restore <id|latest>--target で別の場所を指定しない限り、新しいディレクトリに復元します。--in-place は、確認のうえ、このマシンに上書きします
erpc backup checkリポジトリを確認し、データの 5% を読み戻します
erpc backup prune確認のうえ、1 台のマシンのスナップショットを日ごと 7・週ごと 4・月ごと 6 だけ残します
erpc backup schedule daily|weekly|off [paths]run をタイマーで、--at(既定は 03:00)に実行します
erpc backup statusスケジュールと、最後の実行がどう終わったか
erpc backup password --showリポジトリのマスターパスワードを表示します。別の場所に控えを置くためのものです
  • マシンごとに、追記しかできない鍵が渡されます。 その鍵では、自分のバックアップを削除できません。ただし erpc backup init を実行したマシンは、削除できる鍵も持ちます。そのため、この保護が効くのは、erpc のセッションもアカウントのバックアップ用のシークレットも持たないマシンだけです。
  • erpc backup password --show の控えを、マシンから離れた所に置いてください。 マスターパスワードと、すべてのマシンの backup.env を失うと、バックアップも失われます。
  • バックアップは、知られている鍵のファイルとシステムのシークレットを除きます。 .ssh/id_*、.config/solana/id.json、erpc のセッション、SSH のホスト鍵などです。別の名前や別の場所にある鍵の素材は、ほかのファイルと同じようにバックアップされます。--exclude で除いてください。
  • erpc は restic 0.19.1 をインストールし、アーカイブとプログラムの両方を、erpc に組み込まれた SHA-256 のダイジェストと照合します。
  • スケジュール: Linux では、sudo erpc backup init のあとに sudo erpc backup schedule daily を実行します。macOS では erpc backup schedule daily ~/Documents を実行します。ジョブはあなたとして、あなたがログインしている間に動きます。
  • バックアップはアカウントの既定のリージョンに送られます。erpc backup は、バックアップするそのマシンで実行します。ワーカーのサーバーは、代わりに erpc worker backup on で設定します(アプリの状態データをバックアップする)。