Chạy validator và RPC node với erpc validator và erpc rpc

erpc rpc chạy RPC node trên 18 chain và erpc validator chạy validator trên 13 chain trong số đó. Mọi chain đều dùng cùng các động từ, và các lệnh vòng đời node này miễn phí, không cần tài khoản.
Trang này mô tả ERPC CLI v0.1.0-rc.4, một bản pre-release. Việc nghiệm thu trên host thực vẫn đang được tiến hành: Hiện trạng của từng chain và hướng dẫn của từng chain cho biết trạng thái của từng chain.

Triển khai một node

init chuẩn bị server, còn deploy cài đặt rồi khởi động node. Một Ethereum RPC node bắt đầu từ một server Ubuntu trống, phiên bản 24.04 trở lên:
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
Một số chain cần chuẩn bị thêm từ trước, và hướng dẫn của từng chain cho biết cần những gì. Một Solana validator hoặc RPC node mới cần ba hệ thống tệp đã được mount và các khóa của nó đã có sẵn trong 1Password.

Chọn chain, mạng và host

Chọn chain bằng --chain, ERPC_CHAIN hoặc thiết lập default_chain, chọn mạng bằng -n, và chọn host bằng --name. Một thay đổi trên mainnet cần ghi --chain trên dòng lệnh.
  • erpc validator (alias v), erpc rpc (alias r) và erpc node (alias n, cho Avalanche và Sui) chạy các lệnh node.
  • Chạy một nhóm lệnh không kèm động từ (erpc validator) để liệt kê các động từ của nhóm đó.
  • Với các lệnh node, --json phải đặt trước lệnh: erpc --json rpc ….

Các lệnh dùng được trên mọi chain

Động từChức năng
initKiểm tra server, ghim các bản phát hành của client, lưu node vào 1Password và chuẩn bị host
deployCài đặt hoặc build client, tải một snapshot, áp dụng tường lửa nếu erpc có tường lửa cho node đó, và khởi động node
list, status, logsDanh mục, tình trạng và journal
start, stop, restartĐiều khiển dịch vụ, theo đúng thứ tự với các node có nhiều lớp
updateChuyển sang một bản phát hành khác của client; chính sách rollback tùy thuộc vào client
update-configÁp dụng thay đổi cấu hình và quyền truy cập theo các quy tắc khởi động lại của chain
planHiển thị kế hoạch triển khai hoặc cấu hình của chain
destroyDừng hoặc gỡ bỏ các dịch vụ thuộc quyền sở hữu; việc giữ lại dữ liệu, khóa và tường lửa tuân theo hướng dẫn vận hành của chain
Một Solana validator được ghi nhận trên backend solv chỉ có init, deploy, list và status trong số các lệnh này.

Chain và hướng dẫn

ChainRPC nodeValidatorMạngHướng dẫn
Solanaerpc rpc --chain solanaerpc validator --chain solanamainnet, testnetVận hành, Đăng ký, Chain
Ethereumerpc rpc --chain eth (mainnet, --type full hoặc archive)erpc validator --chain eth (Hoodi, mainnet)mainnet, HoodiRPC, Validator, Chain
Baseerpc rpc --chain basemainnet, sepoliaChain
Avalancheerpc rpc --chain avax (cũng có thể dùng erpc node)erpc validator --chain avaxmainnet, fujiVận hành, Chain
Bitcoinerpc rpc --chain bitcoinmainnet, testnet4, signet, regtestRPC, Chain
Polygonerpc rpc --chain polygonerpc validator --chain polygonmainnet, amoyRPC, Validator, Chain
BNB Chainerpc rpc --chain bscerpc validator --chain bscmainnet, chapelRPC, Validator, Chain
Kaiaerpc rpc --chain kaiaerpc validator --chain kaiamainnet, kairosRPC, Core cell, Chain
Arbitrumerpc rpc --chain arbitrum (mainnet, nova, sepolia)erpc validator --chain arbitrum (chỉ Arbitrum One mainnet)mainnet, nova, sepoliaRPC, Validator, Chain
Optimismerpc rpc --chain optimismmainnet, sepoliaVận hành, Chain
Hyperliquiderpc rpc --chain hyperliquiderpc validator --chain hyperliquidmainnet, testnetRPC, Validator, AQA, Chain
Monaderpc rpc --chain monaderpc validator --chain monadmainnet, testnetVận hành, Chain
TRONerpc rpc --chain tronerpc validator --chain tronmainnet, nileVận hành, Chain
Suierpc rpc --chain sui (cũng có thể dùng erpc node)erpc validator --chain suimainnet, testnetVận hành, Chain
NEARerpc rpc --chain nearerpc validator --chain nearmainnet, testnetRPC, Validator, Chain
Arcerpc rpc --chain arcmainnet, testnetRuntime RPC, Chain
Robinhood Chainerpc rpc --chain robinhooderpc validator --chain robinhoodmainnet, testnetĐiều kiện tham gia, Validator, Chain
Soneiumerpc rpc --chain soneiummainnet, minatoChain
Chạy node liệt kê các client của từng chain.

Những gì erpc cần trên server

  • erpc đăng nhập qua SSH với tư cách một người dùng sudo (mặc định là ubuntu) bằng khóa của bạn, lấy từ SSH agent của 1Password hoặc SSH_AUTH_SOCK, và ghim khóa host ở lần kết nối đầu tiên.
  • Server cần có /usr/bin/python3 và một tài khoản đăng nhập mà sudo không hỏi mật khẩu.
  • /opt phải là một thư mục thực đã có sẵn, do root sở hữu, mà cả nhóm của nó lẫn người khác đều không thể ghi, đúng như Ubuntu cung cấp sẵn; erpc không tạo thư mục này. /opt/erpc cùng các thư mục runs và uploads mà erpc tạo bên trong nó cũng phải tuân theo cùng quy tắc, và không thư mục nào trong số này được phép là liên kết tượng trưng: để đặt chúng trên một volume khác, hãy mount volume đó tại /opt/erpc. Với một node, hệ thống tệp chứa /opt/erpc cũng phải giữ POSIX ACL (ext4 và XFS mặc định có giữ), nếu không erpc sẽ dừng.
  • Một host Solana mới cần Ubuntu 24.04, systemd 255 và x86-64 có các tính năng CPU AVX2 và SHA. ERPC yêu cầu tối thiểu 32 luồng logic và 480 GiB bộ nhớ khả dụng cho một Solana RPC node, 24 luồng và 300 GiB cho một validator mainnet, còn 24 luồng và 120 GiB cho một validator testnet.

Cách erpc chạy một node

  • Hầu hết các chain chạy client dưới quyền một người dùng riêng không thể đăng nhập, kiểm tra từng bản phát hành theo một checksum đã ghim trước khi cài đặt, và áp dụng tường lửa nftables với rollback có hẹn giờ mà một kết nối quản trị mới phải xác nhận. Không phải chain nào cũng vậy: một Solana node mới được build trên server từ một commit mã nguồn đã ghim, và một Solana node được ghi nhận trên backend solv chạy dưới quyền một người dùng đăng nhập được, có sudo không cần mật khẩu, và tải một số công cụ mà không kiểm tra checksum.
  • erpc không áp dụng tường lửa nào cho Solana validator trên backend solv, Ethereum validator hoặc Bitcoin node, nên việc lọc lưu lượng cho các host đó là việc của bạn.
  • Hãy giữ một cách độc lập để truy cập host trong khi thay đổi mạng.
  • Khi thư mục drop-in của một dịch vụ được bảo vệ còn chứa một tệp khác, chẳng hạn override.conf từ systemctl edit, bước tường lửa sẽ từ chối và không thay đổi gì. Hãy chuyển drop-in của bạn ra khỏi thư mục đó rồi chạy lại lệnh.
  • Các secret gửi từ máy của bạn được chuyển đến server qua đầu vào chuẩn, không bao giờ qua dòng lệnh.
  • Một Solana validator mới đồng bộ dưới một identity riêng, với chức năng bỏ phiếu bị tắt. deploy --activate-validator chuyển một host khỏe mạnh sang identity đã đăng ký ban đầu của nó sau các bước kiểm tra đăng ký công khai và kiểm tra BLS native. --backend solv tiếp tục một host solv hiện có và không thể tạo host mới.
  • Đừng khôi phục signer của một Ethereum validator từ bản sao lưu: hãy chuyển signer bằng erpc v --chain eth migrate.
Đăng nhập và khóa cho biết mỗi node giữ những khóa nào trong 1Password và trên host.

Hiện trạng của từng chain

Với mọi chain trong bảng, phần hiện thực đã được kiểm tra offline, còn việc nghiệm thu trực tiếp trên host thực được hoãn lại. Bước kiểm tra định tuyến lệnh RPC chạy cả mười hai động từ chung cho cả mười tám chain, và không bước kiểm tra nào trong số này chạy node trên host thực. Trang của từng chain trong bản đồ mã nguồn chain cho biết hiện trạng của chain đó.