Розгортання кастомного блок-експлорера: Blockscout та Otterscan

Коли приватна EVM-мережа зростає, без власного блок-експлорера розробники та користувачі втрачають прозорість, а налагодження транзакцій перетворюється на хаос. Ми розгортаємо кастомні рішення на базі Blockscout та Otterscan, адаптуючи їх під ваш брендинг і логіку протоколу. Наша команда реалізує проєкт під ключ — від вибору інструмента до налаштування верифікації контрактів, забезпечуючи стабільну роботу та подальшу підтримку.
Часті запитання

Типова задача: є приватна 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

  1. Налаштування archive-ноди з trace API.
  2. Розгортання PostgreSQL та Redis.
  3. Запуск backend із застосуванням міграцій.
  4. Запуск frontend з налаштуванням змінних оточення.
  5. Кастомізація 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 тижні.

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

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142