Зависимость от публичных RPC — Alchemy, Infura, QuickNode — это зависимость от чужого uptime, rate limit'ов и ценовой политики. Ethereum nodes and clients рекомендует собственную инфраструктуру для продакшн-нагрузок. При объёме запросов от 100k/день экономика собственной ноды становится выгодной: типичная конфигурация окупается за 3–6 месяцев, сокращая бюджет на инфраструктуру на 50–70% по сравнению с тарифами публичных провайдеров. Кроме стоимости: собственная нода даёт полный debug_* и trace_* namespace, которые публичные провайдеры часто отключают или тарифицируют отдельно. Стоимость собственного решения в 2-3 раза ниже публичного RPC при нагрузке от 500k запросов в день.
Однажды к нам обратился проект DeFi, у которого публичный RPC-провайдер отключал debug-методы в самый разгар тестирования нового AMM-контракта. Смена provider'а заняла бы недели, а дедлайн был завтра. Мы за два дня подняли собственную ноду на Reth + Lighthouse, и команда продолжила отладку без ограничений. Свяжитесь с нами для консультации по выбору конфигурации под вашу нагрузку.
Мы настраиваем приватные RPC-ноды с 5+ лет опыта, суммарно 50+ проектов в Ethereum и сайдчейнах. Наши инженеры тестируют каждый узел под реальной нагрузкой и дают гарантию uptime 99.9% при правильном окружении.
Какой клиент выбрать для Ethereum?
Два основных execution client'а:
Geth (go-ethereum) — самый распространённый, наибольшая документация, стабильный. Archive mode занимает ~16 TB. Самый медленный на eth_getLogs по большим диапазонам блоков.
Reth (Paradigm) — написан на Rust, значительно быстрее Geth на запросы истории. Archive mode ~2.5 TB (лучшее сжатие). Рекомендуем для новых установок.
Erigon — архивная нода ~3 TB, быстрые исторические запросы, но сложнее в настройке и обновлении.
| Клиент | Диск (archive) | Синхронизация | Историч. запросы |
|---|---|---|---|
| Geth | ~16 TB | 2–4 нед | Медленно |
| Reth | ~2.5 TB | 3–7 дней | Быстро |
| Erigon | ~3 TB | 3–7 дней | Быстро |
Почему стоит настраивать собственную ноду?
Публичные RPC имеют rate limits (обычно 100–300 req/s), отсутствие debug/trace методов и стоимость при превышении лимитов. Сравните сами:
| Параметр | Публичный RPC | Приватная нода |
|---|---|---|
| Rate limit | 100-300 req/s | Неограничен |
| debug/trace методы | Отсутствуют или платно | Полный доступ |
| Экономия при 1M req/день | - | До 70% бюджета |
| Время синхронизации archive | Мгновенно | 3-7 дней (однократно) |
| Контроль версий | Нет | Да |
Собственная нода — это:
- Полный контроль: любые
eth_*,debug_*,trace_*методы без доплат. - Никаких rate limits: вы платите только за железо.
- Быстрые исторические запросы: archive node не урезана.
- Независимость: при сбое провайдера ваша нода продолжает работу.
Подробная спецификация железа
Для archive-ноды Ethereum mainnet рекомендуется:
- CPU: AMD EPYC 64 ядра (или аналогичный Intel Xeon)
- RAM: 256 GB DDR4 ECC
- Диск: 2x 3.84 TB NVMe SSD (RAID1) для Reth, 4x 3.84 TB для Geth
- Сеть: 10 Gbps
Окончательная конфигурация подбирается под ваш RPS и количество цепей.
Как настроить собственную RPC-ноду: пошаговая инструкция
Процесс настройки включает следующие шаги:
- Установить execution и consensus клиенты.
- Создать JWT secret для связи между клиентами.
- Запустить execution layer (Reth).
- Запустить consensus layer (Lighthouse) с checkpoint sync.
- Настроить Nginx reverse proxy с SSL и rate limiting.
- Настроить мониторинг и алерты.
Установка Reth + Lighthouse (Ethereum mainnet)
Ethereum PoS требует два клиента: execution layer (Reth) + consensus layer (Lighthouse/Prysm):
# Reth curl -L https://github.com/paradigmxyz/reth/releases/latest/download/reth-x86_64-unknown-linux-gnu.tar.gz | tar xz sudo mv reth /usr/local/bin/ # Lighthouse (consensus client) curl -L https://github.com/sigp/lighthouse/releases/latest/download/lighthouse-x86_64-unknown-linux-gnu.tar.gz | tar xz sudo mv lighthouse /usr/local/bin/ # JWT secret для связи между клиентами (Engine API) openssl rand -hex 32 > /etc/ethereum/jwt.hex Запуск execution layer (Reth):
reth node \ --chain mainnet \ --datadir /data/reth \ --http \ --http.addr 127.0.0.1 \ --http.port 8545 \ --http.api eth,net,web3,txpool,debug,trace \ --ws \ --ws.addr 127.0.0.1 \ --ws.port 8546 \ --authrpc.addr 127.0.0.1 \ --authrpc.port 8551 \ --authrpc.jwtsecret /etc/ethereum/jwt.hex \ --full # full node, для archive добавьте --full=false Запуск consensus layer (Lighthouse):
lighthouse beacon_node \ --network mainnet \ --datadir /data/lighthouse \ --execution-endpoint http://127.0.0.1:8551 \ --execution-jwt /etc/ethereum/jwt.hex \ --checkpoint-sync-url https://mainnet.checkpoint.sigp.io \ --disable-deposit-contract-sync --checkpoint-sync-url — синхронизация консенсус-клиента начинается с финального checkpoint вместо genesis. Сокращает время с недель до часов.
Настройка Nginx как reverse proxy
Прямой доступ к RPC-порту снаружи — плохо. Nginx + auth + rate limiting:
upstream ethereum_rpc { server 127.0.0.1:8545; keepalive 32; } server { listen 443 ssl; server_name rpc.yourdomain.com; ssl_certificate /etc/letsencrypt/live/rpc.yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/rpc.yourdomain.com/privkey.pem; satisfy any; allow 10.0.0.0/8; deny all; location / { proxy_pass http://ethereum_rpc; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_set_header Host $host; proxy_read_timeout 300s; limit_req zone=rpc_limit burst=100 nodelay; } } limit_req_zone $binary_remote_addr zone=rpc_limit:10m rate=100r/s; WebSocket для subscriptions — отдельный location:
location /ws { proxy_pass http://127.0.0.1:8546; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 3600s; } Другие EVM-сети: BSC, Polygon и их настройка
Большинство EVM-сетей — форки Geth. Принцип тот же, клиент свой. Для BSC используется BSC Geth, для Polygon — Bor (execution) и Heimdall (consensus), аналогично связке Reth+Lighthouse. Запускаются с аналогичными параметрами, только с конфигами под соответствующую сеть. Например, для Polygon требуется настроить два консенсусных слоя: Heimdall (на основе Cosmos SDK) и Bor (форк Geth). Это увеличивает время настройки, но мы предоставляем готовые скрипты.
Мониторинг ноды
Проверка синхронизации простая: запрос eth_syncing возвращает статус и отставание. Алёрты: нода считается здоровой если отставание lag < 5 блоков и peers >= 5. При peers = 0 — нода изолирована от сети, что хуже чем просто отставание.
Prometheus + Grafana для долгосрочного мониторинга: Reth и Geth экспортируют метрики нативно (--metrics.port 9001). Готовые дашборды — в репозиториях соответствующих клиентов.
Что входит в настройку под ключ
- Установка и конфигурация execution + consensus клиентов для выбранной сети.
- Настройка Nginx reverse proxy с SSL, rate limiting и IP whitelist.
- Мониторинг (Prometheus + Grafana) с алертами на Telegram/Slack.
- Тестирование под нагрузкой (до 1000 rps) и оптимизация.
- Документация по обслуживанию и восстановлению.
- Обучение вашей команды (1 час онлайн).
Сроки и стоимость
Ориентировочный срок — от 2 до 7 дней в зависимости от сети и требований к архиву. Стоимость рассчитывается индивидуально после анализа нагрузки: свяжитесь с нами — оценим проект бесплатно. Закажите настройку приватной RPC-ноды и получите полный контроль над инфраструктурой. Наши инженеры помогут подобрать оптимальную конфигурацию под ваш бюджет и нагрузку.
Обращайтесь — мы уже настроили ноды для 50+ проектов, включая high-load DeFi и NFT маркетплейсы.







