使用 erpc validator 和 erpc rpc 运行 validator 和 RPC 节点

erpc rpc 在 18 条链上运行 RPC 节点,erpc validator 在其中 13 条链上运行 validator。每条链都使用相同的子命令,这些节点生命周期命令免费,且无需账户。
本页介绍 ERPC CLI v0.1.0-rc.4,这是一个预发布版本。在真实主机上的验收仍在进行中:各链的现状和各链的指南给出了每条链的状态。

部署节点

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 validator 或 RPC 节点需要挂载三个文件系统,并且其密钥已存入 1Password。

选择链、网络和主机

使用 --chain、ERPC_CHAIN 或 default_chain 设置选择链,使用 -n 选择网络,使用 --name 选择主机。对主网上的节点进行变更时,必须在命令行上写明 --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 validator 只有其中的 init、deploy、list 和 status。

链与指南

链RPC 节点Validator网络指南
Solanaerpc rpc --chain solanaerpc validator --chain solanamainnet、testnet运维、注册、链
Ethereumerpc rpc --chain eth(mainnet,--type full 或 archive)erpc validator --chain eth(Hoodi、mainnet)mainnet、HoodiRPC、Validator、链
Baseerpc rpc --chain basemainnet、sepolia链
Avalancheerpc rpc --chain avax(也可用 erpc node)erpc validator --chain avaxmainnet、fuji运维、链
Bitcoinerpc rpc --chain bitcoinmainnet、testnet4、signet、regtestRPC、链
Polygonerpc rpc --chain polygonerpc validator --chain polygonmainnet、amoyRPC、Validator、链
BNB Chainerpc rpc --chain bscerpc validator --chain bscmainnet、chapelRPC、Validator、链
Kaiaerpc rpc --chain kaiaerpc validator --chain kaiamainnet、kairosRPC、Core cell、链
Arbitrumerpc rpc --chain arbitrum(mainnet、nova、sepolia)erpc validator --chain arbitrum(仅 Arbitrum One mainnet)mainnet、nova、sepoliaRPC、Validator、链
Optimismerpc rpc --chain optimismmainnet、sepolia运维、链
Hyperliquiderpc rpc --chain hyperliquiderpc validator --chain hyperliquidmainnet、testnetRPC、Validator、AQA、链
Monaderpc rpc --chain monaderpc validator --chain monadmainnet、testnet运维、链
TRONerpc rpc --chain tronerpc validator --chain tronmainnet、nile运维、链
Suierpc rpc --chain sui(也可用 erpc node)erpc validator --chain suimainnet、testnet运维、链
NEARerpc rpc --chain nearerpc validator --chain nearmainnet、testnetRPC、Validator、链
Arcerpc rpc --chain arcmainnet、testnetRPC 运行时、链
Robinhood Chainerpc rpc --chain robinhooderpc validator --chain robinhoodmainnet、testnet准入、Validator、链
Soneiumerpc rpc --chain soneiummainnet、minato链
运行节点列出了每条链使用的客户端。

erpc 对服务器的要求

  • erpc 使用您的密钥(来自 1Password SSH agent 或 SSH_AUTH_SOCK),以 sudo 用户(默认为 ubuntu)通过 SSH 登录,并在首次连接时固定主机密钥。
  • 服务器需要 /usr/bin/python3,以及一个执行 sudo 时无需输入密码的登录用户。
  • /opt 必须事先就是一个由 root 拥有、其所属组和其他用户都不可写的真实目录,与 Ubuntu 默认提供的一致;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 可用内存,主网 validator 至少有 24 个线程和 300 GiB,测试网 validator 至少有 24 个线程和 120 GiB。

erpc 如何运行节点

  • 大多数链会以一个无法登录的独立用户运行客户端,在安装每个版本之前用已固定的校验和对其进行检查,并应用带有定时回滚的 nftables 防火墙,该回滚必须由一个新的管理连接确认。并非所有链都是如此:新的 Solana 节点在服务器上从固定的源代码 commit 构建,而记录在 solv 后端上的 Solana 节点以拥有免密码 sudo 的登录用户运行,并且会在没有校验和的情况下获取部分工具。
  • erpc 不会为 solv 后端上的 Solana validator、Ethereum validator 或 Bitcoin 节点应用防火墙,因此这些主机的过滤需要由您自己完成。
  • 在网络变更期间,请保留一种独立的方式来访问主机。
  • 当受保护服务的 drop-in 目录中有其他文件(例如 systemctl edit 生成的 override.conf)时,防火墙步骤会拒绝执行,且不做任何更改。请将您的 drop-in 移出该目录,然后再次运行命令。
  • 从您的机器发送的 Secret 通过标准输入到达服务器,从不出现在命令行上。
  • 新的 Solana validator 会以单独的身份同步,且投票处于禁用状态。deploy --activate-validator 会在公开注册和原生 BLS 检查之后,将健康的主机切换到其原先注册的身份。--backend solv 用于接续现有的 solv 主机,无法创建新主机。
  • 不要从备份恢复 Ethereum validator 的签名者:请使用 erpc v --chain eth migrate 迁移签名者。
登录与密钥列出了每种节点在 1Password 和主机上保存的密钥。

各链的现状

对于表中的每条链,其实现都经过了离线检查,而在真实主机上的实地验收已推迟。RPC 命令路由检查对全部十八条链执行全部十二个通用子命令,这些检查都不会在真实主机上运行节点。链源码索引中每条链的页面说明了该链的现状。