Публичные эксплореры вроде 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 недель в зависимости от сложности сети и требуемых кастомизаций. Получите консультацию по настройке эксплорера для вашей сети. Мы гарантируем стабильную работу индексатора и оперативную поддержку. Свяжитесь с нами, чтобы обсудить детали и индивидуальный план развёртывания.







