Типова задача: є приватна EVM-мережа (L2 або корпоративний сайдчейн), а Etherscan не підходить. Потрібен кастомний блок-експлорер з брендингом, кастомними decoded events та метриками протоколу. Без свого експлорера розробники втрачають прозорість, а користувачі — зручність. Ми маємо 10+ років досвіду в блокчейн-інфраструктурі та розгорнули десятки таких рішень — від простих Otterscan для тестових мереж до повнофункціональних Blockscout з кастомним UI та інтеграцією верифікації. Наприклад, для клієнта з приватною L2-мережею ми налаштували Blockscout з кастомними декодованими подіями та інтеграцією Sourcify, що дозволило скоротити час індексації 500 000 блоків до 2 днів. Зв'яжіться для безкоштовної оцінки вашого проекту.
Проблеми, які вирішує кастомний блок-експлорер
Кастомний блок-експлорер — це інтерфейс для перегляду транзакцій, блоків і смарт-контрактів у вашій приватній 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 TPS потрібен 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. Розгортається вдвічі швидше 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, навантажувальне тестування з імітацією 5k 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 тижні.







