Запускайте валидаторы и RPC-ноды с erpc validator и erpc rpc

erpc rpc запускает RPC-ноды в 18 блокчейнах, а erpc validator — валидаторы в 13 из них. Во всех блокчейнах используются одни и те же подкоманды, а эти команды жизненного цикла нод бесплатны и не требуют аккаунта.
Эта страница описывает ERPC CLI v0.1.0-rc.4 — пререлиз. Приёмочная проверка на реальных хостах ещё идёт: на каком этапе находится каждый блокчейн, сказано в разделе Состояние каждого блокчейна и в руководстве по нему.

Развёртывание ноды

init подготавливает сервер, а deploy устанавливает и запускает ноду. Отправная точка для RPC-ноды 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
Для некоторых блокчейнов сначала нужно подготовить что-то ещё — что именно, сказано в руководстве по каждому блокчейну. Новому валидатору или RPC-ноде Solana нужны три смонтированные файловые системы и ключи, уже сохранённые в 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Останавливает или выводит из эксплуатации свои службы; что происходит с данными, ключами и брандмауэром, определяет руководство по эксплуатации блокчейна
У валидатора Solana, записанного на бэкенде solv, из этих подкоманд есть только init, deploy, list и status.

Блокчейны и руководства

БлокчейнRPC-нодаВалидаторСетиРуководства
Solanaerpc rpc --chain solanaerpc validator --chain solanamainnet, testnetЭксплуатация, Регистрация, Блокчейн
Ethereumerpc rpc --chain eth (mainnet, --type full или archive)erpc validator --chain eth (Hoodi, mainnet)mainnet, HoodiRPC, Валидатор, Блокчейн
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, Валидатор, Блокчейн
BNB Chainerpc rpc --chain bscerpc validator --chain bscmainnet, chapelRPC, Валидатор, Блокчейн
Kaiaerpc rpc --chain kaiaerpc validator --chain kaiamainnet, kairosRPC, Core cell, Блокчейн
Arbitrumerpc rpc --chain arbitrum (mainnet, nova, sepolia)erpc validator --chain arbitrum (только mainnet Arbitrum One)mainnet, nova, sepoliaRPC, Валидатор, Блокчейн
Optimismerpc rpc --chain optimismmainnet, sepoliaЭксплуатация, Блокчейн
Hyperliquiderpc rpc --chain hyperliquiderpc validator --chain hyperliquidmainnet, testnetRPC, Валидатор, 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, Валидатор, Блокчейн
Arcerpc rpc --chain arcmainnet, testnetСреда выполнения RPC, Блокчейн
Robinhood Chainerpc rpc --chain robinhooderpc validator --chain robinhoodmainnet, testnetДопуск, Валидатор, Блокчейн
Soneiumerpc rpc --chain soneiummainnet, minatoБлокчейн
Клиенты для каждого блокчейна перечислены на странице Запуск нод.

Что erpc нужно на сервере

  • erpc входит по SSH как пользователь с sudo (по умолчанию ubuntu) с вашим ключом из SSH-агента 1Password или SSH_AUTH_SOCK и при первом подключении закрепляет ключ хоста.
  • На сервере нужны /usr/bin/python3 и учётная запись, для которой sudo не запрашивает пароль.
  • /opt уже должен быть настоящим каталогом, который принадлежит root и в который не могут писать ни его группа, ни остальные, — как в поставке Ubuntu; erpc его не создаёт. К /opt/erpc и каталогам runs и uploads, которые erpc создаёт в нём, применяется то же правило, и ни один из этих каталогов не может быть символической ссылкой: чтобы держать их на другом томе, смонтируйте том в /opt/erpc. Для ноды файловая система, на которой находится /opt/erpc, также должна сохранять POSIX ACL (ext4 и XFS делают это по умолчанию), иначе erpc останавливается.
  • Новому хосту Solana нужны Ubuntu 24.04, systemd 255 и x86-64 с функциями CPU AVX2 и SHA. ERPC требует не менее 32 логических потоков и 480 GiB доступной памяти для RPC-ноды Solana, 24 потоков и 300 GiB для валидатора mainnet и 24 потоков и 120 GiB для валидатора testnet.

Как erpc запускает ноду

  • В большинстве блокчейнов клиент работает от отдельного пользователя без права входа, каждый релиз перед установкой проверяется по зафиксированной контрольной сумме, а брандмауэр nftables применяется с откатом по таймеру, который должно подтвердить новое управляющее соединение. Так устроены не все: новая нода Solana собирается на сервере из зафиксированного коммита исходного кода, а нода Solana, записанная на бэкенде solv, работает от пользователя с правом входа и sudo без пароля и загружает некоторые инструменты без проверки контрольной суммы.
  • erpc не применяет брандмауэр к валидаторам Solana на бэкенде solv, валидаторам Ethereum и нодам Bitcoin, поэтому фильтрация трафика на этих хостах — ваша задача.
  • Во время изменений сети сохраняйте независимый способ доступа к хосту.
  • Пока в каталоге drop-in защищённой службы лежит другой файл, например override.conf из systemctl edit, шаг настройки брандмауэра отказывается выполняться и ничего не меняет. Уберите свой drop-in из каталога и выполните команду снова.
  • Секреты, отправляемые с вашей машины, попадают на сервер через стандартный ввод и никогда — через командную строку.
  • Новый валидатор Solana синхронизируется под отдельным identity с отключённым голосованием. deploy --activate-validator переключает хост, прошедший проверку работоспособности, на его исходный зарегистрированный identity после публичной регистрации и нативных проверок BLS. --backend solv возобновляет работу существующего хоста solv и не может создать новый.
  • Не восстанавливайте подписанта валидатора Ethereum из резервной копии: переносите подписанта с помощью erpc v --chain eth migrate.
В разделе Вход и ключи показано, какие ключи каждая нода хранит в 1Password и на хосте.

Состояние каждого блокчейна

Для каждого блокчейна из таблицы реализация проверена офлайн, а приёмочная проверка вживую на реальных хостах отложена. Проверка маршрутизации команд RPC прогоняет все двенадцать общих подкоманд для всех восемнадцати блокчейнов, и ни одна из этих проверок не запускает ноду на реальном хосте. На каком этапе находится каждый блокчейн, сказано на его странице в карте исходников блокчейнов.