Публичные эксплореры вроде Etherscan или Solscan удобны, пока вы используете публичную сеть и их API покрывает задачи. Собственный блокчейн-эксплорер становится необходимым, когда вы работаете с private/consortium blockchain — там нет публичного обозревателя. Или когда нужна кастомная логика отображения: брендированный UI, специфические метрики протокола, закрытые паттерны запросов. Мы не раз сталкивались с ситуациями, когда публичные сервисы раскрывают конфиденциальные данные о трафике — собственный эксплорер решает эту проблему. Архивная нода на Ethereum занимает около 17 ТБ, но затраты оправданы: вы получаете полный контроль и возможность кастомизировать интерфейс. Экономия на лицензиях коммерческих эксплореров может достигать 40% годовых.
Как выбрать платформу для блокчейн-эксплорера?
Blockscout: универсальное решение для EVM
Open-source, написан на Elixir/Phoenix, поддерживает все EVM-совместимые сети. Используется как официальный эксплорер для Gnosis Chain, Optimism, Base и других L2. Blockscout предлагает богатый функционал: верификация контрактов, просмотр токенов (ERC-20, ERC-721, ERC-1155), NFT, DeFi-метрики, REST API и GraphQL. Однако его стек (Elixir + PostgreSQL + Redis + нода) тяжёл: для production требуется от 32 ГБ RAM, а начальная настройка нетривиальна.
Otterscan: лёгкость и минимализм
Легковесный эксплорер на React, который работает напрямую с Erigon нодой через расширенный ots_ namespace API. Ему не нужна отдельная база данных — вся история хранится в самой ноде. Плюс: минимальный footprint, нет отдельного индексирования, старт занимает минуты. Минус: требуется именно Erigon (не geth, не Nethermind), нет верификации контрактов, функционал базовый.
The Graph: когда нужны кастомные данные
The Graph не является полноценным эксплорером, но если вам требуется вывести конкретные данные протокола (например, объёмы ликвидности по пулам или историю ставок), subgraph + кастомный фронтенд окажутся быстрее и дешевле полного эксплорера. Это не замена, а дополнение.
Сравнение платформ
| Платформа | Функционал | Инфраструктура | Время развёртывания | Верификация контрактов |
|---|---|---|---|---|
| Blockscout | Полный: токены, NFT, API, DeFi | PostgreSQL + Redis + нода, ≥32 ГБ RAM | 2–4 недели индексирования | Да, через Sourcify или API |
| Otterscan | Базовый: транзакции, блоки | Только Erigon нода | Минуты | Нет |
| The Graph | Кастомные данные по подписке | Subgraph + фронтенд | Часы–дни | Только через subgraph |
Требования к ноде для разных платформ
| Платформа | Тип ноды | Дополнительные методы | Дисковое пространство (Ethereum mainnet) |
|---|---|---|---|
| Blockscout | Archive | debug_traceTransaction, trace_block | ~17 ТБ |
| Otterscan | Erigon (archive) | ots_* методы | ~17 ТБ (Erigon) |
| The Graph | Полная или archive | Стандартные RPC | ~12 ТБ (full) |
Как настроить эксплорер за 5 шагов
- Выбор платформы — определитесь, нужен ли полный функционал (Blockscout), минимализм (Otterscan) или только кастомные метрики (The Graph).
- Подготовка ноды — для Blockscout требуется архивная нода с включёнными debug/trace методами. Для Otterscan — Erigon. Убедитесь, что дисковое пространство позволяет хранить полную историю.
- Развёртывание инфраструктуры — используйте Docker Compose для Blockscout или просто запустите Erigon для Otterscan.
- Настройка индексирования — оптимизируйте batch size и параллельные потоки, чтобы ускорить загрузку истории.
- Верификация и запуск — подключите Sourcify или вручную верифицируйте контракты через API. Запустите UI и настройте SSL.
Что нужно для развёртывания Blockscout?
Инфраструктура
Используем Docker Compose для быстрой развёртки. Ниже упрощённый конфиг, который мы адаптируем под ваши задачи:
version: '3.8' services: db: image: postgres:15 environment: POSTGRES_DB: blockscout POSTGRES_USER: blockscout POSTGRES_PASSWORD: ${DB_PASSWORD} volumes: - postgres_data:/var/lib/postgresql/data shm_size: '512mb' redis: image: redis:7-alpine command: redis-server --maxmemory 4gb --maxmemory-policy allkeys-lru backend: image: blockscout/blockscout:latest depends_on: [db, redis] environment: DATABASE_URL: postgresql://blockscout:${DB_PASSWORD}@db:5432/blockscout ETHEREUM_JSONRPC_VARIANT: geth ETHEREUM_JSONRPC_HTTP_URL: http://node:8545 ETHEREUM_JSONRPC_WS_URL: ws://node:8546 ETHEREUM_JSONRPC_TRACE_URL: http://node:8545 SECRET_KEY_BASE: ${SECRET_KEY_BASE} CHAIN_ID: "1" COIN: ETH NETWORK: Mainnet SUBNETWORK: Ethereum Mainnet POOL_SIZE: 80 ECTO_USE_SSL: 'false' SOURCIFY_INTEGRATION_ENABLED: 'true' SOURCIFY_SERVER_URL: https://sourcify.dev/server ports: - "4000:4000" frontend: image: ghcr.io/blockscout/frontend:latest environment: NEXT_PUBLIC_API_HOST: http://backend:4000 NEXT_PUBLIC_NETWORK_NAME: My Network NEXT_PUBLIC_NETWORK_SHORT_NAME: MyNet NEXT_PUBLIC_NETWORK_ID: "1" ports: - "3000:3000" Требования к ноде
Blockscout использует нестандартные RPC-методы: debug_traceTransaction для внутренних транзакций, trace_block и trace_transaction для Parity-совместимых трейсов, а также eth_getBalance в архивном режиме. Обычная полная нода не подходит — нужна архивная нода с включёнными debug/trace методами. Для Ethereum mainnet размер архивной ноды составляет около 17 ТБ. Это основная статья инфраструктурных затрат. Пример запуска Geth:
geth --mainnet \ --syncmode full \ --gcmode archive \ --http \ --http.api eth,net,web3,debug,txpool \ --ws \ --ws.api eth,net,web3,debug \ --cache 32768 Подробнее о требованиях к ноде
Для корректной работы Blockscout нода должна поддерживать:
-
debug_traceTransaction— для внутренних транзакций -
trace_block,trace_transaction— для трейсов - Архивный режим — иначе данные о балансах старых адресов будут недоступны.
Также убедитесь, что HTTP и WebSocket API открыты, а лимит газа не ниже 10 млн.
Как ускорить индексирование?
При первом запуске Blockscout индексирует историю с последнего блока назад. Для mainnet это может занять 2–4 недели. Оптимизируем через переменные:
BLOCK_TRANSFORMER: base INDEXER_BLOCK_REWARD_BATCH_SIZE: 10 INDEXER_COIN_BALANCES_BATCH_SIZE: 500 INDEXER_RECEIPTS_BATCH_SIZE: 250 INDEXER_INTERNAL_TRANSACTIONS_BATCH_SIZE: 20 Для приватных сетей с небольшой историей полное индексирование занимает часы.
Как верифицировать смарт-контракты?
Верификация через Sourcify — децентрализованный репозиторий верифицированных контрактов. Если контракт уже есть в Sourcify, Blockscout подтянет данные автоматически. Также доступна прямая верификация через REST API с отправкой исходного кода и параметров компилятора:
curl -X POST https://your-blockscout.com/api \ -H "Content-Type: application/json" \ -d '{ "module": "contract", "action": "verifysourcecode", "contractaddress": "0x...", "sourceCode": "pragma solidity...", "codeformat": "solidity-single-file", "contractname": "MyContract", "compilerversion": "v0.8.20+commit.a1b79de6", "optimizationUsed": 1, "runs": 200 }' Кастомные метрики и branded UI
Если требуется фирменный стиль и нестандартные страницы, Blockscout позволяет задавать кастомные токены и нативную монету через env-переменные, форкнуть frontend (Next.js) и доработать дизайн, а также добавлять дополнительные страницы, например метрики протокола, как отдельные React-компоненты.
Что входит в работу
Мы настраиваем эксплореры для 15+ проектов, включая приватные сети и публичные L2. Вот что входит в наш процесс "под ключ":
- Аналитика: выбор платформы под ваши требования (сеть, метрики, бюджет).
- Проектирование: подготовка инфраструктуры, расчёт ресурсов для archive node.
- Развёртывание: Docker Compose или Kubernetes, конфигурация ноды и эксплорера.
- Индексирование: оптимизация параллельности, мониторинг отставания.
- Верификация: интеграция Sourcify, настройка API.
- Запуск: Nginx reverse proxy с SSL, домен, алерты.
Сроки: от 2 до 3 недель в зависимости от сложности сети и требуемых кастомизаций. Получите консультацию по настройке эксплорера для вашей сети. Мы гарантируем стабильную работу индексатора и оперативную поддержку. Свяжитесь с нами, чтобы обсудить детали и индивидуальный план развёртывания.







