Разработка бота для мониторинга мемпула Ethereum и L2

Разработка бота для мониторинга мемпула В публичном мемпуле Ethereum через `eth_subscribe("newPendingTransactions")` видна лишь малая часть транзакций. Приватные транзакции Flashbots и MEV Blocker остаются невидимыми. Для DeFi-протокола, зависящего от ликвидаций или аналитики газа, это слепая зон

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

Часто задаваемые вопросы

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

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

Разработка бота для мониторинга мемпула

В публичном мемпуле Ethereum через eth_subscribe("newPendingTransactions") видна лишь малая часть транзакций. Приватные транзакции Flashbots и MEV Blocker остаются невидимыми. Для DeFi-протокола, зависящего от ликвидаций или аналитики газа, это слепая зона. Собственный mempool-бот с доступом к txpool API даёт полную картину: видит 90–100% pending-транзакций, включая те, что идут по приватным каналам. Мы проектируем таких ботов под ключ — от выбора ноды до деплоя с дашбордом метрик.

Сравнение собственной ноды и публичного RPC

Публичный RPC через eth_subscribe("newPendingTransactions") показывает только broadcast-транзакции — приватные (Flashbots, MEV Blocker) не видны. Запуск собственного Geth с txpool API даёт полный снапшот: txpool_content показывает все pending и queued транзакции, которые проходят через вашу ноду. Для latency-critical задач — colocation с крупными валидаторами (Equinix, Amsterdam) снижает задержку до 10–50 мс против 200 мс на публичном RPC.

Уровень доступа Видимость транзакций Типичная latency Сложность
Публичный RPC 30–60% (только broadcast) 150–400 мс Низкая
Собственная нода (txpool) 90–100% (p2p) 50–150 мс Средняя
Colocation + peering 100% (включая Flashbots при партнёрстве) 10–50 мс Высокая

Собственная нода видит в 3 раза больше транзакций, чем публичный RPC. Для бота, следящего за ликвидациями, это разница между прибыльной сделкой и пропущенным шансом.

Как декодировать транзакции в реальном времени?

Raw транзакция — байты. Чтобы понять, что она делает, декодируем calldata через ABI. Для известных протоколов (Uniswap, Aave, Curve) используем заранее загруженные интерфейсы. Для неизвестных — 4byte.directory: отправляем селектор (первые 4 байта) и получаем сигнатуру функции. Типовой код декодинга Uniswap V3 exactInputSingle:

const uniV3Iface = new Interface(UNISWAP_V3_ABI); function decodeUniswapTx(tx: ethers.TransactionResponse): DecodedSwap | null { if (!tx.data || tx.data === '0x') return null; const selector = tx.data.slice(0, 10); if (selector === '0x414bf389') { const decoded = uniV3Iface.decodeFunctionData('exactInputSingle', tx.data); return { tokenIn: decoded.params.tokenIn, tokenOut: decoded.params.tokenOut, amountIn: decoded.params.amountIn }; } return null; } 

Какие сценарии приносят наибольшую выгоду?

Разные задачи требуют разного уровня доступа к мемпулу. Сравним их по latency и сложности:

Сценарий Требуемый уровень доступа Ожидаемая latency Экономия газа
Liquidation bot (Aave) Собственная нода + txpool <100 мс 20–30% на приоритете
Sandwich detection Публичный RPC или собственная нода <500 мс — (защита)
Gas price forecasting Собственная нода + снапшоты <50 мс (периодически) 10–15% средняя

Liquidation bot. Мониторим позиции на Aave/Compound, в мемпуле ловим транзакции обновления цены Chainlink. Декодируем новую цену, симулируем ликвидацию через local eth_call. Если found — отправляем liquidation с увеличенным maxFeePerGas, чтобы обогнать оракула. Средняя экономия на газе — 30% за счёт приоритетной очереди.

Sandwich detection. Парсим pending транзакции на DEX-свапы. Если на тот же пул идёт две транзакции: первая с высоким gas (фронтраннит), вторая — жертва. Система алертит оператора или автоматически блокирует протокол от такого бата. Реализовано через map pending hash -> swap details.

Gas price forecasting. Снимаем снапшот txpool_content, анализируем распределение maxFeePerGas. Вычисляем p50, p75, p95 — это позволяет предсказать next base fee с точностью до 15%. Используем для отправки негорящих транзакций с оптимальной ценой.

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

  • Архитектура: проектирование высоконагруженной системы (Redis Streams + Worker Pool + Execution Engine).
  • Разработка: модули декодирования, фильтры (по адресу, сигнатуре, газа), система оповещений.
  • Деплой: настройка собственной ноды (Geth/Reth) с оптимальным peering, мониторинг latency.
  • Документация: описание API, инструкции по запуску, дашборд метрик.
  • Поддержка: 14 дней post-launch для коррекции.
Развёрнутый план работ
  1. Аналитика (2 дня): обсуждаем задачу — ликвидации, аналитика, anti-sandwich, MEV. Определяем SLA по latency, объём транзакций.
  2. Проектирование (3 дня): выбираем стек (Geth/Reth, Foundry, ethers.js, Redis), рисуем архитектуру очередями.
  3. Реализация (5–15 дней): пишем модули декодинга, фильтры, execution engine. Сквозное тестирование на теневой ноде.
  4. Тест (3 дня): симулируем нагрузку 300+ tx/s, замеряем latency, отлавливаем regressions.
  5. Деплой (2 дня): настройка ноды, мониторинг, документация.

Опыт наших инженеров — 6+ лет в блокчейн-разработке. За плечами 27+ проектов по MEV, амниотизации и децентрализованным протоколам. Гарантируем прозрачность: весь код проходит внутренний audit и формальную верификацию (Slither, Mythril).

Процесс и сроки

Итоговый срок — от 2 до 8 недель в зависимости от complexity. Стоимость рассчитывается индивидуально после аудита задачи. Закажите консультацию — оценим объём работ бесплатно.

Источники

Получите развёрнутый proposal по вашему сценарию — свяжитесь с нами.