---
title: "erpc validator と erpc rpc でバリデータと RPC ノードを動かす"
description: "erpc rpc は 18 のチェーンで RPC ノードを、erpc validator はそのうち 13 のチェーンでバリデータを動かします。どのチェーンでも同じサブコマンドで操作でき、ERPC アカウントは要りません。"
canonical: "https://erpc.global/ja/doc/erpc-cli/nodes/"
locale: "ja"
---

# erpc validator と erpc rpc でバリデータと RPC ノードを動かす

`erpc rpc` は 18 のチェーンで RPC ノードを、`erpc validator` はそのうち 13 のチェーンでバリデータを動かします。どのチェーンでも同じサブコマンドで操作できます。ノードの用意から撤去までのこれらのコマンドは無料で、アカウントも要りません。

このページは、プレリリースの ERPC CLI `v0.1.0-rc.4` について説明しています。実際のホストでの受け入れ確認は、まだ進めている途中です。チェーンごとの状態は、[チェーンごとの検証の状況](https://erpc.global/ja/doc/erpc-cli/nodes/#チェーンごとの検証の状況)と各チェーンのガイドで確認できます。

## ノードをデプロイする

`init` がサーバーを準備し、`deploy` がノードをインストールして起動します。Ethereum の RPC ノードは、何も入っていない Ubuntu サーバー（24.04 以降）から始められます。

```bash
# check the server, pin the client releases, store the node in 1Password
erpc rpc --chain ethereum -n mainnet --name eth1 init --host <address> --vault <vault id> --ssh-key ~/.ssh/id_ed25519.pub
# install, fetch a snapshot, apply the firewall, start
erpc rpc --chain ethereum -n mainnet --name eth1 deploy --ssh-key ~/.ssh/id_ed25519.pub
# both layers, sync and head
erpc rpc --chain ethereum -n mainnet --name eth1 status --ssh-key ~/.ssh/id_ed25519.pub
```

チェーンによっては、先に用意しておく物があり、それぞれのチェーンのガイドに書いてあります。新しい Solana のバリデータや RPC ノードには、3 つのファイルシステムのマウントと、1Password に入れておいた鍵が必要です。

## チェーン、ネットワーク、ホストを選ぶ

チェーンは `--chain`、`ERPC_CHAIN`、または `default_chain` の設定で、ネットワークは `-n` で、ホストは `--name` で選びます。mainnet に切り替えるときは、コマンドラインに `--chain` を書く必要があります。

- ノードのコマンドは、`erpc validator`（別名 `v`）、`erpc rpc`（別名 `r`）、`erpc node`（別名 `n`。Avalanche と Sui 用）で実行します。
- コマンドグループを動詞なしで実行すると（`erpc validator`）、その動詞の一覧が表示されます。
- ノードのコマンドでは、`--json` をコマンドより前に置く必要があります（`erpc --json rpc …`）。

## どのチェーンでも使えるコマンド

| 動詞 | 内容 |
| --- | --- |
| `init` | サーバーを確認し、クライアントのリリースを固定し、ノードを 1Password に記録して、ホストを準備します |
| `deploy` | クライアントをインストールまたはビルドし、スナップショットを取得し、erpc がそのノード用のファイアウォールを持っていればそれを適用して、ノードを起動します |
| `list`, `status`, `logs` | 台帳、稼働状況、ジャーナル |
| `start`, `stop`, `restart` | サービスの操作。複数の層を持つノードでは、正しい順で行います |
| `update` | 別のクライアントのリリースに移ります。ロールバックの方針はクライアントによって異なります |
| `update-config` | そのチェーンの再起動のルールに従って、設定とアクセスの変更を適用します |
| `plan` | そのチェーンのデプロイや設定の計画を表示します |
| `destroy` | 管理しているサービスを停止または退役させます。データ、鍵、ファイアウォールを残すかどうかは、そのチェーンの運用ガイドに従います |

solv のバックエンドで記録された Solana のバリデータでは、このうち `init`、`deploy`、`list`、`status` だけが使えます。

## 対応チェーンとチェーンごとのガイド

| チェーン | RPC ノード | バリデータ | ネットワーク | ガイド |
| --- | --- | --- | --- | --- |
| Solana | `erpc rpc --chain solana` | `erpc validator --chain solana` | mainnet, testnet | [運用](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/solana-native.md)、[登録](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/solana-registration.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/solana.md) |
| Ethereum | `erpc rpc --chain eth`（mainnet、`--type full` または `archive`） | `erpc validator --chain eth`（Hoodi、mainnet） | mainnet, Hoodi | [RPC](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/ethereum-rpc.md)、[バリデータ](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/ethereum-validator.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/ethereum.md) |
| Base | `erpc rpc --chain base` | | mainnet, sepolia | [チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/base.md) |
| Avalanche | `erpc rpc --chain avax`（`erpc node` でも可） | `erpc validator --chain avax` | mainnet, fuji | [運用](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/avalanche.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/avalanche.md) |
| Bitcoin | `erpc rpc --chain bitcoin` | | mainnet, testnet4, signet, regtest | [RPC](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/bitcoin-rpc.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/bitcoin.md) |
| Polygon | `erpc rpc --chain polygon` | `erpc validator --chain polygon` | mainnet, amoy | [RPC](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/crates/erpc-chain-polygon/templates/README.md)、[バリデータ](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/polygon-validator.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/polygon.md) |
| BNB Chain | `erpc rpc --chain bsc` | `erpc validator --chain bsc` | mainnet, chapel | [RPC](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/bsc-rpc.md)、[バリデータ](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/bsc-validator.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/bsc.md) |
| Kaia | `erpc rpc --chain kaia` | `erpc validator --chain kaia` | mainnet, kairos | [RPC](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/kaia-rpc.md)、[Core cell](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/kaia-core-cell.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/kaia.md) |
| Arbitrum | `erpc rpc --chain arbitrum`（mainnet、nova、sepolia） | `erpc validator --chain arbitrum`（Arbitrum One の mainnet のみ） | mainnet, nova, sepolia | [RPC](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/nitro-rpc.md)、[バリデータ](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/arbitrum-validator.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/arbitrum.md) |
| Optimism | `erpc rpc --chain optimism` | | mainnet, sepolia | [運用](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/op-follower-rpc.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/optimism.md) |
| Hyperliquid | `erpc rpc --chain hyperliquid` | `erpc validator --chain hyperliquid` | mainnet, testnet | [RPC](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/hyperliquid-rpc.md)、[バリデータ](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/hyperliquid-validator.md)、[AQA](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/hyperliquid-aqa.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/hyperliquid.md) |
| Monad | `erpc rpc --chain monad` | `erpc validator --chain monad` | mainnet, testnet | [運用](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/monad-node.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/monad.md) |
| TRON | `erpc rpc --chain tron` | `erpc validator --chain tron` | mainnet, nile | [運用](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/crates/erpc-chain-tron/templates/README.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/tron.md) |
| Sui | `erpc rpc --chain sui`（`erpc node` でも可） | `erpc validator --chain sui` | mainnet, testnet | [運用](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/crates/erpc-chain-sui/templates/README.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/sui.md) |
| NEAR | `erpc rpc --chain near` | `erpc validator --chain near` | mainnet, testnet | [RPC](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/near-rpc.md)、[バリデータ](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/near-validator.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/near.md) |
| Arc | `erpc rpc --chain arc` | | mainnet, testnet | [RPC ランタイム](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/arc-runtime.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/arc.md) |
| Robinhood Chain | `erpc rpc --chain robinhood` | `erpc validator --chain robinhood` | mainnet, testnet | [参加の手続き](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/robinhood-admission.md)、[バリデータ](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/robinhood-defensive-validator.md)、[チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/robinhood.md) |
| Soneium | `erpc rpc --chain soneium` | | mainnet, minato | [チェーン](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/soneium.md) |

各チェーンのクライアントは [ノードの動かし方](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/nodes.md) に載っています。

## erpc がサーバーに求めること

- erpc は、あなたの鍵で、sudo のできるユーザー（既定は `ubuntu`）として SSH でログインします。鍵は 1Password の SSH エージェントか `SSH_AUTH_SOCK` から使い、初めて接続したときにホスト鍵を固定します。
- サーバーには `/usr/bin/python3` と、`sudo` がパスワードを求めないログインユーザーが必要です。
- `/opt` は、Ubuntu の初期状態と同じく、root が所有し、グループにもその他のユーザーにも書き込めない実体のディレクトリとして、あらかじめ在る必要があります。erpc はこれを作りません。`/opt/erpc` と、erpc がその中に作る `runs` と `uploads` のディレクトリにも同じ規則が掛かり、これらはどれもシンボリックリンクにできません。別のボリュームに置きたいときは、そのボリュームを `/opt/erpc` にマウントしてください。ノードの場合は、`/opt/erpc` を置くファイルシステムが POSIX ACL も保てる必要があり（ext4 と XFS は既定で保てます）、保てないと erpc は止まります。
- 新しい Solana のホストには、Ubuntu 24.04、systemd 255、AVX2 と SHA の CPU 機能を持つ x86-64 が必要です。ERPC が求める最小の構成は、Solana の RPC ノードで論理スレッド 32 と使えるメモリ 480 GiB、mainnet のバリデータでスレッド 24 と 300 GiB、testnet のバリデータでスレッド 24 と 120 GiB です。

## erpc がノードを動かすときにすること

- ほとんどのチェーンでは、クライアントをログインできない専用のユーザーで動かし、各リリースをインストールする前に固定したチェックサムと照合し、新しい管理用の接続で確認されなければ時間で元に戻る、nftables のファイアウォールを適用します。すべてのチェーンがそうではありません。新しい Solana のノードは、固定したソースのコミットからサーバー上でビルドします。solv のバックエンドで記録された Solana のノードは、パスワードなしの sudo ができるログインユーザーで動き、一部のツールをチェックサムなしで取得します。
- erpc は、solv のバックエンドの Solana のバリデータ、Ethereum のバリデータ、Bitcoin のノードにはファイアウォールを適用しません。これらのホストの通信の制限は、ご自身で行ってください。
- ネットワークを変更する間も、ホストに届く別の経路を持っておいてください。
- 保護されたサービスの drop-in ディレクトリに別のファイル（`systemctl edit` で作った `override.conf` など）が在る間は、ファイアウォールの手順は受け付けず、何も変更しません。その drop-in をディレクトリの外に移してから、コマンドをもう一度実行してください。
- あなたのマシンから送るシークレットは、標準入力でサーバーに届き、コマンドラインには載りません。
- 新しい Solana のバリデータは、投票を無効にした別のアイデンティティで同期します。`deploy --activate-validator` は、公開の登録とネイティブの BLS の確認を経てから、健全なホストを元の登録済みのアイデンティティに切り替えます。`--backend solv` は既存の solv のホストを再開するためのもので、新しいホストは作れません。
- Ethereum のバリデータの署名者をバックアップから復元しないでください。署名者を移すときは `erpc v --chain eth migrate` を使います。

ノードごとに、どの鍵を 1Password とホストに置くかは、[ログインと鍵](https://erpc.global/ja/doc/erpc-cli/sign-in-and-keys/#ノードの鍵の置き場所)に載っています。

## チェーンごとの検証の状況

表のどのチェーンも、実装はオフラインで確認済みで、実際のホストでの受け入れ確認はまだ先です。RPC のコマンドの振り分けの確認では、18 のチェーンすべてで共通の 12 の動詞を試しますが、これらの確認のどれも、実際のホストでノードを動かしてはいません。各チェーンの状況は、[チェーンごとの資料の一覧](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/README.md)の、そのチェーンのページに載っています。
