---
title: "รัน validator และ RPC node ด้วย erpc validator และ erpc rpc"
description: "erpc rpc รัน RPC node บน 18 เชน และ erpc validator รัน validator บน 13 เชน ด้วยคำสั่งย่อยชุดเดียวกันในทุกเชน โดยไม่ต้องมีบัญชี ERPC"
canonical: "https://erpc.global/th/doc/erpc-cli/nodes/"
locale: "th"
---

# รัน validator และ RPC node ด้วย erpc validator และ erpc rpc

`erpc rpc` รัน RPC node บน 18 เชน และ `erpc validator` รัน validator บน 13 เชนในจำนวนนั้น ทุกเชนใช้คำสั่งย่อยชุดเดียวกัน และคำสั่ง lifecycle ของ node เหล่านี้ใช้ได้ฟรีโดยไม่ต้องมีบัญชี

หน้านี้อธิบาย ERPC CLI `v0.1.0-rc.4` ซึ่งเป็นเวอร์ชัน pre-release การตรวจรับบนโฮสต์จริงยังดำเนินอยู่ โดย[ความคืบหน้าของแต่ละเชน](https://erpc.global/th/doc/erpc-cli/nodes/#ความคืบหน้าของแต่ละเชน)และคู่มือของแต่ละเชนจะระบุสถานะของแต่ละเชน

## การ deploy node

`init` จะเตรียมเซิร์ฟเวอร์ และ `deploy` จะติดตั้งและเริ่ม node ส่วน RPC node ของ Ethereum จะเริ่มจากเซิร์ฟเวอร์ 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
```

บางเชนต้องเตรียมสิ่งอื่นไว้ก่อน ซึ่งคู่มือของแต่ละเชนจะบอกว่ามีอะไรบ้าง validator หรือ RPC node ของ Solana ที่สร้างใหม่ต้องมีระบบไฟล์ที่ mount ไว้สามชุด และต้องมีคีย์อยู่ใน 1Password แล้ว

## เลือกเชน เครือข่าย และโฮสต์

เลือกเชนด้วย `--chain`, `ERPC_CHAIN` หรือการตั้งค่า `default_chain` เลือกเครือข่ายด้วย `-n` และเลือกโฮสต์ด้วย `--name` การเปลี่ยนแปลง node บน mainnet ต้องเขียน `--chain` ไว้ในบรรทัดคำสั่ง

- `erpc validator` (alias `v`), `erpc rpc` (alias `r`) และ `erpc node` (alias `n` สำหรับ Avalanche และ Sui) ใช้รันคำสั่งของ node
- รันกลุ่มคำสั่งโดยไม่ระบุคำสั่งย่อย (`erpc validator`) เพื่อแสดงรายการคำสั่งย่อยของกลุ่มนั้น
- สำหรับคำสั่งของ node ต้องวาง `--json` ไว้ก่อนคำสั่ง: `erpc --json rpc …`

## คำสั่งที่ใช้ได้กับทุกเชน

| คำสั่งย่อย | สิ่งที่ทำ |
| --- | --- |
| `init` | ตรวจสอบเซิร์ฟเวอร์ pin เวอร์ชันของ client จัดเก็บ node ไว้ใน 1Password และเตรียมโฮสต์ |
| `deploy` | ติดตั้งหรือ build client ดาวน์โหลด snapshot ใช้ไฟร์วอลล์ในกรณีที่ erpc มีไฟร์วอลล์สำหรับ node นั้น และเริ่ม node |
| `list`, `status`, `logs` | inventory, สถานะ และ journal |
| `start`, `stop`, `restart` | ควบคุมบริการตามลำดับที่ถูกต้องสำหรับ node ที่มีหลายเลเยอร์ |
| `update` | ย้ายไปใช้ client เวอร์ชันอื่น โดยนโยบาย rollback ขึ้นอยู่กับ client |
| `update-config` | ใช้การเปลี่ยนแปลงการกำหนดค่าและสิทธิ์การเข้าถึง ตามกฎการรีสตาร์ทของเชน |
| `plan` | แสดงแผนการ deploy หรือแผนการกำหนดค่าของเชน |
| `destroy` | หยุดหรือปลดระวางบริการที่ถือครองอยู่ ส่วนการเก็บรักษาข้อมูล คีย์ และไฟร์วอลล์เป็นไปตามคู่มือการดำเนินงานของเชน |

validator ของ Solana ที่บันทึกไว้บน backend solv จะมีเฉพาะ `init`, `deploy`, `list` และ `status` จากคำสั่งเหล่านี้

## เชนและคู่มือ

| เชน | RPC node | Validator | เครือข่าย | คู่มือ |
| --- | --- | --- | --- | --- |
| 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), [Validator](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), [Validator](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), [Validator](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), [Validator](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), [Validator](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), [Validator](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 runtime](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), [Validator](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) |

[การรัน node](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/nodes.md) ระบุ client ของแต่ละเชน

## สิ่งที่ erpc ต้องการบนเซิร์ฟเวอร์

- erpc เข้าสู่ระบบผ่าน SSH ในฐานะผู้ใช้ sudo (ค่าเริ่มต้นคือ `ubuntu`) ด้วยคีย์ของคุณจาก SSH agent ของ 1Password หรือ `SSH_AUTH_SOCK` และจะ pin host key ไว้ในครั้งแรก
- เซิร์ฟเวอร์ต้องมี `/usr/bin/python3` และบัญชีเข้าสู่ระบบที่ `sudo` ไม่ถามรหัสผ่าน
- `/opt` ต้องเป็นไดเรกทอรีจริงที่มีอยู่แล้ว เป็นของ root และทั้งกลุ่มและผู้ใช้อื่นเขียนไม่ได้ ตามที่ Ubuntu ติดตั้งมาให้ โดย erpc จะไม่สร้างไดเรกทอรีนี้ `/opt/erpc` รวมถึงไดเรกทอรี `runs` และ `uploads` ที่ erpc สร้างไว้ข้างใน ต้องเป็นไปตามกฎเดียวกัน และไม่มีไดเรกทอรีใดในนี้ที่เป็น symbolic link ได้ หากต้องการเก็บไว้บน volume อื่น ให้ mount volume นั้นที่ `/opt/erpc` สำหรับ node ระบบไฟล์ที่เก็บ `/opt/erpc` ต้องเก็บรักษา POSIX ACL ไว้ด้วย (ext4 และ XFS ทำเช่นนี้ตามค่าเริ่มต้น) มิฉะนั้น erpc จะหยุด
- โฮสต์ Solana ใหม่ต้องใช้ Ubuntu 24.04, systemd 255 และ x86-64 ที่มีฟีเจอร์ CPU AVX2 และ SHA โดย ERPC กำหนดให้มีอย่างน้อย 32 logical thread และหน่วยความจำที่ใช้ได้ 480 GiB สำหรับ RPC node ของ Solana, 24 thread และ 300 GiB สำหรับ validator บน mainnet และ 24 thread และ 120 GiB สำหรับ validator บน testnet

## วิธีที่ erpc รัน node

- เชนส่วนใหญ่จะรัน client ในฐานะผู้ใช้เฉพาะของตัวเองที่เข้าสู่ระบบไม่ได้ ตรวจสอบแต่ละเวอร์ชันกับ checksum ที่ pin ไว้ก่อนติดตั้ง และใช้ไฟร์วอลล์ nftables พร้อม rollback แบบตั้งเวลาซึ่งต้องได้รับการยืนยันจากการเชื่อมต่อเพื่อการจัดการครั้งใหม่ แต่ไม่ใช่ทุกเชนที่ทำเช่นนี้: node ของ Solana ที่สร้างใหม่จะถูก build บนเซิร์ฟเวอร์จาก source commit ที่ pin ไว้ และ node ของ Solana ที่บันทึกไว้บน backend solv จะทำงานในฐานะผู้ใช้ที่เข้าสู่ระบบได้พร้อม sudo แบบไม่ใช้รหัสผ่าน และดาวน์โหลดเครื่องมือบางตัวโดยไม่มี checksum
- erpc ไม่ใช้ไฟร์วอลล์กับ validator ของ Solana บน backend solv, validator ของ Ethereum หรือ node ของ Bitcoin ดังนั้นการกรองการรับส่งข้อมูลของโฮสต์เหล่านั้นเป็นหน้าที่ของคุณ
- โปรดมีช่องทางอิสระสำหรับเข้าถึงโฮสต์ไว้ระหว่างการเปลี่ยนแปลงเครือข่าย
- ขณะที่ไดเรกทอรี drop-in ของบริการที่ได้รับการป้องกันมีไฟล์อื่นอยู่ เช่น `override.conf` จาก `systemctl edit` ขั้นตอนไฟร์วอลล์จะปฏิเสธและไม่เปลี่ยนแปลงสิ่งใด โปรดย้าย drop-in ของคุณออกจากไดเรกทอรีแล้วรันคำสั่งอีกครั้ง
- secret ที่ส่งจากเครื่องของคุณจะไปถึงเซิร์ฟเวอร์ผ่าน standard input และไม่ส่งผ่านบรรทัดคำสั่งเลย
- validator ของ Solana ที่สร้างใหม่จะ sync ภายใต้ identity แยกต่างหากโดยปิดการโหวตไว้ `deploy --activate-validator` จะสลับโฮสต์ที่ทำงานปกติไปใช้ identity เดิมที่ลงทะเบียนไว้ หลังการลงทะเบียนสาธารณะและการตรวจสอบ BLS แบบ native ส่วน `--backend solv` ใช้ทำงานต่อกับโฮสต์ solv ที่มีอยู่ และสร้างโฮสต์ใหม่ไม่ได้
- อย่าเรียกคืน signer ของ validator Ethereum จากข้อมูลสำรอง: ให้ย้าย signer ด้วย `erpc v --chain eth migrate`

[ลงชื่อเข้าใช้และคีย์](https://erpc.global/th/doc/erpc-cli/sign-in-and-keys/#ที่เก็บคีย์ของ-node) แสดงว่า node แต่ละตัวเก็บคีย์ใดไว้ใน 1Password และบนโฮสต์

## ความคืบหน้าของแต่ละเชน

สำหรับทุกเชนในตาราง การ implement ได้รับการตรวจสอบแบบออฟไลน์แล้ว ส่วนการตรวจรับแบบ live บนโฮสต์จริงเลื่อนออกไป การตรวจสอบการกำหนดเส้นทางคำสั่งของ RPC ทดสอบคำสั่งย่อยทั่วไปทั้งสิบสองคำสั่งกับทั้งสิบแปดเชน และไม่มีการตรวจสอบใดในนี้ที่รัน node บนโฮสต์จริง หน้าของแต่ละเชนใน[แผนที่ซอร์สของเชน](https://github.com/elsoul/erpc-cli/blob/v0.1.0-rc.4/docs/chains/README.md)จะระบุว่าเชนนั้นอยู่ในสถานะใด
