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 에이전트 또는 SSH_AUTH_SOCK에 있는 사용자의 키를 사용해 sudo 사용자(기본값 ubuntu)로 SSH 로그인하며, 처음 접속할 때 호스트 키를 고정합니다.
  • 서버에는 /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의 사용 가능한 메모리를, 메인넷 validator에 24개 스레드와 300 GiB를, 테스트넷 validator에 24개 스레드와 120 GiB를 요구합니다.

erpc가 노드를 실행하는 방식

  • 대부분의 체인은 클라이언트를 로그인할 수 없는 전용 사용자로 실행하고, 각 버전을 설치하기 전에 고정된 체크섬과 대조하며, 새 관리 연결이 확인해야 하는 타이머가 걸린 롤백과 함께 nftables 방화벽을 적용합니다. 모든 체인이 그런 것은 아닙니다. 새 Solana 노드는 고정된 소스 커밋으로 서버에서 빌드되며, solv 백엔드에 기록된 Solana 노드는 비밀번호 없는 sudo를 가진 로그인 사용자로 실행되고 일부 도구를 체크섬 없이 가져옵니다.
  • erpc는 solv 백엔드의 Solana validator, Ethereum validator, Bitcoin 노드에는 방화벽을 적용하지 않으므로, 이 호스트들의 필터링은 사용자가 직접 해야 합니다.
  • 네트워크를 변경하는 동안 호스트에 접근할 수 있는 독립된 수단을 확보해 두세요.
  • 보호된 서비스의 drop-in 디렉터리에 systemctl edit으로 만든 override.conf 같은 다른 파일이 있는 동안에는 방화벽 단계가 진행을 거부하고 아무것도 변경하지 않습니다. 사용자의 drop-in 파일을 디렉터리 밖으로 옮긴 뒤 명령을 다시 실행하세요.
  • 사용자의 머신에서 보내는 시크릿은 표준 입력으로 서버에 전달되며, 명령줄에는 절대 올라가지 않습니다.
  • 새 Solana validator는 투표가 비활성화된 별도의 identity로 동기화합니다. deploy --activate-validator는 공개 등록 및 네이티브 BLS 검사를 거친 뒤, 정상 상태의 호스트를 원래 등록된 identity로 전환합니다. --backend solv는 기존 solv 호스트를 재개하며, 새 호스트를 만들 수는 없습니다.
  • Ethereum validator의 서명자를 백업에서 복원하지 마세요. 서명자는 erpc v --chain eth migrate로 이전하세요.
로그인 및 키에서 각 노드가 1Password와 호스트에 어떤 키를 보관하는지 확인할 수 있습니다.

각 체인의 현황

표의 모든 체인에서 구현은 오프라인으로 검사되며, 실제 호스트에서의 라이브 검수는 미뤄져 있습니다. RPC 명령 라우팅 검사는 18개 체인 전부에 대해 공통 하위 명령 12개를 모두 실행해 보지만, 이 검사 중 어느 것도 실제 호스트에서 노드를 실행하지 않습니다. 각 체인의 현황은 체인 소스 맵의 해당 체인 페이지에 나와 있습니다.