Настройка архивной ноды Ethereum: Erigon, Reth, Arbitrum

Мы настраиваем архивные ноды для проектов, где нужен полный доступ к историческим данным блокчейна. Вы запускаете `eth_call` на блоке 5 000 000 и получаете ошибку `missing trie node` — full node не хранит исторические состояния. Обычная полная нода держит текущее состояние и несколько тысяч последни

Направления блокчейн-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1004
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1270
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1011

Мы настраиваем архивные ноды для проектов, где нужен полный доступ к историческим данным блокчейна. Вы запускаете eth_call на блоке 5 000 000 и получаете ошибку missing trie node — full node не хранит исторические состояния. Обычная полная нода держит текущее состояние и несколько тысяч последних блоков, но когда требуется баланс на блоке 15 000 000 или состояние смарт-контракта двухлетней давности, full node бессильна. Archive node хранит state trie для каждого блока, обеспечивая полный доступ к историческим данным.

Archive node — это не роскошь, а необходимость для блокчейн-аналитики, аудита и децентрализованных приложений, работающих с историческими данными. Однако дисковые требования колоссальны:

Сеть Full Node Archive Node
Ethereum mainnet ~1 TB ~18+ TB
BSC ~1.5 TB ~3+ TB
Polygon PoS ~600 GB ~8+ TB
Arbitrum One ~300 GB ~4+ TB
Optimism ~200 GB ~2+ TB

Почему archive node требует 18+ ТБ диска?

Каждый блок Ethereum содержит не только транзакции, но и снимок состояния (state trie). Archive node сохраняет этот снимок для каждого блока, в отличие от full node, которая хранит только последние состояния. Это позволяет выполнять eth_getBalance на любом историческом блоке, но ценой огромного дискового пространства. Для сравнения: полная синхронизация Ethereum mainnet с Erigon занимает ~3 ТБ, а с Geth — до 18 ТБ. Erigon использует staged sync, что радикально уменьшает требуемое место.

Когда реально нужна archive нода?

Прежде чем разворачивать archive, проверьте альтернативы: для аналитики — The Graph subgraph или Dune Analytics уже имеют индексированные данные; для разовых запросов — платные archive RPC (Alchemy, Infura). Но если у вас регулярные production-запросы с высоким объёмом, своя нода окупается: экономия на RPC может достигать $2000/мес при 10M исторических запросов. Кроме того, своя нода даёт низкую задержку и конфиденциальность — данные не уходят к провайдеру.

Как настроить Ethereum archive node с Erigon?

Erigon — альтернатива Geth, хранящая archive данные значительно компактнее (~3 TB для Ethereum). Согласно документации Erigon, archive режим включается флагом --prune=''.

Установка:

git clone https://github.com/ledgerwatch/erigon cd erigon make erigon 

Запуск archive режима:

erigon \ --datadir=/data/erigon \ --chain=mainnet \ --prune='' \ --http \ --http.addr=0.0.0.0 \ --http.port=8545 \ --http.api=eth,erigon,web3,net,debug,trace,txpool \ --ws \ --torrent.download.rate=512mb \ --metrics --metrics.addr=0.0.0.0 --metrics.port=6060 

Процесс настройки включает несколько этапов:

  1. Подготовка сервера: CPU 16+ ядер, RAM 64 ГБ, диск 4 ТБ NVMe SSD, сеть 1 Гбит/с.
  2. Установка и запуск Erigon с параметром --prune=''.
  3. Ожидание синхронизации (5–14 дней на NVMe). Erigin синхронизируется поэтапно: Headers → Block Bodies → Senders → Execution (самый долгий) → Hash State → Intermediate Hashes → History Index → Log Index → Tx Lookup → Finish.
  4. Проверка работоспособности через запрос к старому блоку.
  5. Настройка мониторинга и бэкапов.

Как выбрать между Erigon и Reth?

Параметр Erigon Reth
Размер диска ~3 TB ~2.5 TB
Скорость синхронизации 5-14 дней 3-7 дней
Стабильность Высокая Средняя (менее зрелый)
Язык Go Rust

Reth синхронизируется быстрее, но на данный момент менее стабилен. Выбор зависит от приоритетов. Если стабильность критична — берите Erigon, если скорость — Reth.

Мониторинг и бэкапы

После настройки проверьте archive режим запросом к старому блоку:

curl -X POST http://localhost:8545 -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "0xF4240"],"id":1}' 

Erigon и Reth экспортируют Prometheus-метрики. Ключевые: erigon_stages_progress, chain_head_block, system_disk_free. Настройте алерт на свободное место менее 500 ГБ — archive нода активно растёт.

Бэкапы — критичны. Рекомендуем делать снапшоты через LVM или rsync на отдельный сервер. Например, после остановки ноды: rsync -avz /data/erigon/ backup:/backup/erigon/. Incremental бэкапы через rclone на S3 дешевле полного копирования.

Что входит в настройку archive node под ключ?

Мы предлагаем:

  • Подбор конфигурации железа под ваш бюджет и нагрузку.
  • Установку и настройку ноды (Erigon, Reth или L2).
  • Конфигурацию мониторинга и алертов.
  • Настройку автоматических бекапов.
  • Нагрузочное тестирование и оптимизацию.
  • Документацию и обучение вашей команды.
  • Гарантию стабильной работы и поддержку при сбоях.

Сроки — от 3 до 10 дней в зависимости от сети и объёма.

Наш опыт

Более 5 лет на рынке, 50+ настроенных нод для клиентов. Мы понимаем, как сэкономить и не потерять в надёжности. Оценим ваш проект бесплатно — свяжитесь с нами для консультации. Получите готовое решение под ключ с документацией и поддержкой.