Настройка блокчейн-эксплорера

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1306 услуг
Настройка блокчейн-эксплорера
Средний
~3-5 дней
Часто задаваемые вопросы

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

Этапы блокчейн-разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1308
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1220
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    921
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1149
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    611
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    886

Настройка блокчейн-эксплорера

Публичные эксплореры типа Etherscan или Solscan — удобны, пока ваша сеть публичная и пока их API достаточно. Собственный эксплорер нужен в трёх случаях: private/consortium blockchain (нет публичного эксплорера), кастомная логика отображения (branded UI, специфические метрики протокола), или требования к privacy (не хотите раскрывать паттерны запросов сторонним сервисам).

Выбор платформы

Blockscout (наиболее распространён)

Open source, поддерживает все EVM-совместимые сети. Написан на Elixir/Phoenix. Активно развивается, используется как официальный эксплорер для Gnosis Chain, Optimism, Base и других L2.

Плюсы: богатый функционал (верификация контрактов, токены, NFT, DeFi метрики), REST API + GraphQL, активное сообщество, хорошая документация.

Минусы: тяжёлый стек (Elixir + PostgreSQL + Redis + нода), требует 32+ GB RAM для production, сложная начальная настройка.

Otterscan

Легковесный эксплорер на React, работает напрямую с Erigon нодой через расширенный ots_ namespace API. Без отдельной базы данных — вся история хранится в самой ноде.

Плюсы: minimal footprint, нет отдельного индексирования, мгновенный старт.

Минусы: требует именно Erigon (не geth/nethermind), нет верификации контрактов, базовый функционал.

The Graph (для конкретных данных)

Не полноценный эксплорер, но если нужны кастомные данные протокола — subgraph + кастомный фронтенд быстрее и дешевле чем full explorer.

Развёртывание Blockscout

Инфраструктура

# docker-compose.yml (упрощённый)
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'   # важно для PG производительности

  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          # или parity, besu, erigon
      ETHEREUM_JSONRPC_HTTP_URL: http://node:8545
      ETHEREUM_JSONRPC_WS_URL: ws://node:8546
      ETHEREUM_JSONRPC_TRACE_URL: http://node:8545  # для trace_ методов
      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 — для внутренних транзакций (internal txs)
  • trace_block, trace_transaction — для Parity-compatible трейсов
  • eth_getBalance в архивном режиме — для исторических балансов

Обычная полная нода (full node) не хватит. Нужна archive node с включёнными debug/trace методами:

# Geth archive node
geth --mainnet \
  --syncmode full \
  --gcmode archive \
  --http \
  --http.api eth,net,web3,debug,txpool \
  --ws \
  --ws.api eth,net,web3,debug \
  --cache 32768

Archive node для Ethereum mainnet — ~17 TB (2025). Это основная часть стоимости инфраструктуры.

Индексирование

При первом запуске Blockscout начинает индексирование с последнего блока назад. Для полной истории mainnet — процесс занимает недели. Ускорение:

# Переменные для параллельного индексирования
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

Для приватных сетей с небольшой историей — полное индексирование занимает часы.

Верификация смарт-контрактов

Blockscout поддерживает несколько методов верификации:

Через Sourcify (рекомендуется): децентрализованный репозиторий верифицированных контрактов. Если контракт уже верифицирован в Sourcify — Blockscout автоматически подтянет данные.

Прямая верификация через 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

Если нужен branded эксплорер с логотипом проекта и кастомными метриками:

  • Blockscout поддерживает кастомные токены и нативную монету через env переменные
  • Frontend (Next.js) можно форкнуть и кастомизировать
  • Дополнительные страницы (например, метрики протокола) — добавляются как отдельные React компоненты

Что входит в работу

  • Выбор платформы под конкретные требования
  • Развёртывание archive node с необходимыми debug методами
  • Развёртывание Blockscout через Docker Compose или Kubernetes
  • Настройка начального индексирования
  • Конфигурация верификации контрактов
  • Nginx reverse proxy с SSL, доменное имя
  • Мониторинг индексатора и алерты на отставание