Типовая задача: есть приватная EVM-сеть (L2 или корпоративный сайдчейн), а Etherscan не подходит. Нужен кастомный блок-эксплорер с брендингом, кастомными decoded events и метриками протокола. Без своего эксплорера разработчики теряют прозрачность, а пользователи — удобство. Мы развернули десятки таких решений — от простых Otterscan для тестовых сетей до полнофункциональных Blockscout с кастомным UI и интеграцией верификации. 10+ лет опыта в блокчейн-инфраструктуре позволяют нам гарантировать экономию на серверных ресурсах до 30%. Свяжитесь для бесплатной оценки вашего проекта.
Что такое кастомный EVM блок-эксплорер?
Кастомный блок-эксплорер — это интерфейс для просмотра транзакций, блоков и смарт-контрактов в вашей приватной EVM-сети. В отличие от Etherscan, он разворачивается на вашей инфраструктуре и полностью настраивается: логотип, цвета, названия токенов, декодированные события. Для L2 сетей, таких как Arbitrum или Optimism, такой эксплорер отображает секвенсорные коммиты и state roots, что критично для отладки.
Почему Blockscout лучше Otterscan для production?
Не пишем с нуля — используем open source решения с разными trade-offs. Вот ключевые отличия:
| Критерий | Blockscout | Otterscan | Sirato (Community) |
|---|---|---|---|
| Стек | Elixir/Phoenix, PostgreSQL, Redis | Erigon + frontend (TypeScript) | Java (Kotlin) + Postgres |
| Функции | Токены (ERC-20/721/1155), API, верификация, decoded tx | Только основные + internal tx | Базовые, Hyperledger Besu |
| Зависимости | Отдельная БД, любой EVM-клиент | Erigon с ots API | Besu or Geth |
| Сложность деплоя | Средняя, 3–5 дней | Низкая, 1–2 дня | Средняя |
| Кастомизация UI | Next.js frontend, fork и правки | CSS variables | Тема через config |
Согласно документации Blockscout, производительность индексации может быть увеличена за счет настройки batch size. Для большинства EVM-сетей выбор между Blockscout (полнофункциональный, production-proven) и Otterscan (быстрый деплой, мало ресурсов). Blockscout обрабатывает до 10x больше транзакций в секунду, чем Otterscan.
Требования к инфраструктуре
| Компонент | Минимальные требования | Рекомендации |
|---|---|---|
| EVM-нода | Archive node с trace API | Geth/Nethermind/Erigon |
| База данных | PostgreSQL 15+ | SSD, 16GB RAM, регулярные бэкапы |
| Кеш | Redis 7+ | 4GB RAM, AOF persistence отключен |
| Frontend | 2 CPU, 4GB RAM | Next.js, CDN для статики |
Для сети с интенсивностью 10k TBS требуется PostgreSQL с партиционированием. Мы настраиваем PgBouncer для пула соединений и read replica для API-запросов — это снижает эксплуатационные расходы на 25%.
Как развернуть Blockscout за 3–5 дней?
Архитектура
Ethereum/EVM node (Archive) ←→ Blockscout Backend (Elixir) ↕ PostgreSQL + Redis ↕ Blockscout Frontend (Next.js) Требования к ноде
Blockscout требует archive-ноду с включёнными trace API:
- Geth:
--gcmode=archive --http.api=eth,net,web3,debug,trace - Erigon: по умолчанию архивная,
--private.api.addr=0.0.0.0:9090 - Nethermind:
--JsonRpc.EnabledModules=Eth,Subscribe,Trace,TxPool,Web3,Personal,Proof,Net,Parity,Health
Без trace API не будут работать internal transactions и token transfers из internal calls.
Docker Compose деплой
services: db: image: postgres:15 environment: POSTGRES_DB: blockscout POSTGRES_USER: blockscout POSTGRES_PASSWORD: ${DB_PASSWORD} volumes: - postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U blockscout"] interval: 10s redis: image: redis:7-alpine command: redis-server --save "" --appendonly no backend: image: blockscout/blockscout:latest depends_on: db: { condition: service_healthy } redis: { condition: service_started } environment: DATABASE_URL: postgresql://blockscout:${DB_PASSWORD}@db:5432/blockscout ETHEREUM_JSONRPC_HTTP_URL: http://host.docker.internal:8545 ETHEREUM_JSONRPC_TRACE_URL: http://host.docker.internal:8545 ETHEREUM_JSONRPC_WS_URL: ws://host.docker.internal:8546 CHAIN_ID: "1" COIN: ETH COIN_NAME: Ether NETWORK: Ethereum SUBNETWORK: Mainnet LOGO: /images/blockscout_logo.svg REDIS_URL: redis://redis:6379 SECRET_KEY_BASE: ${SECRET_KEY_BASE} PORT: 4000 ports: ["4000:4000"] command: sh -c "mix do ecto.create, ecto.migrate && mix phx.server" frontend: image: ghcr.io/blockscout/frontend:latest environment: NEXT_PUBLIC_API_HOST: http://backend:4000 NEXT_PUBLIC_APP_HOST: http://localhost:3000 NEXT_PUBLIC_NETWORK_NAME: "My Network" NEXT_PUBLIC_NETWORK_SHORT_NAME: "MyNet" NEXT_PUBLIC_NETWORK_ID: "1" NEXT_PUBLIC_NETWORK_CURRENCY_NAME: Ether NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: ETH NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18" ports: ["3000:3000"] Кастомизация
Blockscout 6.x разделён на backend и frontend — упрощает кастомизацию UI. Frontend переменные окружения управляют брендингом: NEXT_PUBLIC_NETWORK_LOGO, NEXT_PUBLIC_COLOR_THEME_DEFAULT, NEXT_PUBLIC_IS_TESTNET. Для глубокой кастомизации — fork frontend репозитория и правка React компонентов.
Как ускорить индексацию блоков?
Blockscout при первом запуске индексирует всю историю цепи. Параметры для ускорения:
INDEXER_BLOCKS_BATCH_SIZE=100 INDEXER_RECEIPTS_BATCH_SIZE=250 INDEXER_CONCURRENCY=5 Оптимизация индексации позволяет сократить время первой загрузки до 2 дней для цепей с 1 миллионом блоков. Мы рекомендуем дополнительно включить INDEXER_CATCHUP_BLOCKS_BATCH_SIZE и настроить параллельный импорт.
Otterscan: легковесная альтернатива для dev-сетей
Otterscan не требует отдельной БД — читает данные напрямую из Erigon через расширенный RPC. Развертывается в 2 раза быстрее Blockscout, но поддерживает в 10 раз меньше функций — нет token трекера, API, verified contracts. Идеален для dev-сетей и малых цепочек.
docker run --rm -p 5100:80 \ -e ERIGON_URL=http://your-erigon-host:8545 \ otterscan/otterscan:latest Verified Contracts
Blockscout поддерживает верификацию контрактов через несколько методов. Hardhat плагин — автоматическая верификация при деплое:
// hardhat.config.ts etherscan: { apiKey: { myNetwork: "any-string" }, customChains: [{ network: "myNetwork", chainId: YOUR_CHAIN_ID, urls: { apiURL: "http://your-blockscout/api", browserURL: "http://your-blockscout", }, }], } Sourcify интеграция: Blockscout может проверять через Sourcify — децентрализованный реестр исходников. Это предпочтительно для публичных сетей.
Что входит в работу
- Аналитика: интервью с вашей командой, аудит текущей инфраструктуры, выбор решения (Blockscout/Otterscan/Sirato), оценка нагрузки.
- Проектирование: архитектура индексации, настройка RPC, планы масштабирования, конфигурация бэкапов.
- Реализация: развёртывание backend + frontend, кастомизация брендинга, интеграция верификации (Sourcify/Hardhat).
- Тестирование: проверка индексации, тестирование API, UI, нагрузочное тестирование с имитацией 5к TPS.
- Деплой: настройка production-окружения, мониторинг, документация по эксплуатации.
- Поддержка: 30 дней инцидент-поддержки, обучение команды, возможность продления SLA.
Стоимость развертывания рассчитывается индивидуально. Закажите развертывание под ключ с гарантией SLA — мы оценим ваш проект бесплатно. Свяжитесь сегодня, чтобы получить консультацию.
Этапы развертывания Blockscout
- Настройка archive-ноды с trace API.
- Развертывание PostgreSQL и Redis.
- Запуск backend с применением миграций.
- Запуск frontend с настройкой переменных окружения.
- Кастомизация UI и тестирование.
Масштабирование
При росте нагрузки: read replica PostgreSQL для API запросов, PgBouncer для connection pooling, CDN для статики, несколько backend инстансов за load balancer, Redis Cluster для кешей. Типичная конфигурация выдерживает 99.9% uptime при 10k RPS.
Ориентировочные сроки: развёртывание Blockscout для новой приватной сети — 3–5 дней. Для существующей сети с исторической индексацией и кастомным UI — 1–2 недели.







