Интеграция Bitquery API: on-chain данные и DEX-мониторинг

Разработчики часто натыкаются на грабли при интеграции Bitquery: rate limits, различия схем V1 и V2, сложность real-time. Мы за 5 лет работы с блокчейн-данными выработали подход, который снимает эти проблемы. Настраиваем Bitquery под ваши задачи — от мониторинга DEX-торгов до whale-трекинга — и даём

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

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

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

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

Разработчики часто натыкаются на грабли при интеграции Bitquery: rate limits, различия схем V1 и V2, сложность real-time. Мы за 5 лет работы с блокчейн-данными выработали подход, который снимает эти проблемы. Настраиваем Bitquery под ваши задачи — от мониторинга DEX-торгов до whale-трекинга — и даём документацию и поддержку. Bitquery индексирует более 40 блокчейнов, включая Ethereum, BNB Chain, Polygon, Arbitrum, Solana, и предоставляет доступ к данным через GraphQL API. Однако каждая интеграция требует глубокого понимания схемы данных, типов запросов и особенностей версий. Мы помогаем вам сфокусироваться на бизнес-логике, а не на отладке API.

Какие проблемы решает интеграция с Bitquery API?

Bitquery — GraphQL API поверх индексированных данных более 40 блокчейнов. На словах это звучит как "просто подключи и получай данные". На практике — разбираться с V1 vs V2, rate limits, правильной пагинацией и нормализацией. Мы берём это на себя.

V1 vs V2: что выбрать?

Характеристика V1 (api.bitquery.io) V2 (streaming.bitquery.io, EAP)
Тип запросов Query (HTTP) Query + Subscription (WebSocket)
Real-time Нет Да
Сети Более 40 Около 20, расширяется
Актуальность Режим поддержки Активная разработка

Для новых проектов мы рекомендуем V2, если нужные сети доступны. Если нет — используем V1 до миграции. V2 — это будущее: real-time, streaming, WebSocket. Если ваша сеть уже поддерживается, миграция на V2 сокращает задержку данных с минут до секунд.

# V2: подписка на новые свапы Uniswap V3 в реальном времени subscription { EVM(network: eth) { DEXTrades( where: { Trade: { Dex: { ProtocolName: { is: "uniswap_v3" } } } } ) { Block { Time Number } Trade { Buy { Amount Currency { Symbol Address } } Sell { Amount Currency { Symbol Address } } Dex { PoolAddress } } } } } 

Как делать запросы к DEX-данным?

Мониторинг DEX-торговли с OHLCV

query DEXOHLCVQuery($since: ISO8601DateTime!, $poolAddress: String!) { EVM(network: eth, dataset: archive) { DEXTradeByTokens( where: { Trade: { Dex: { SmartContract: { is: $poolAddress } } } Block: { Time: { since: $since } } } orderBy: { ascendingByField: "Block_Time" } limit: { count: 1000 } ) { Block { Time(interval: { in: minutes, count: 5 }) } Trade { open: PriceInUSD(minimum: Block_Time) high: PriceInUSD(maximum: Trade_PriceInUSD) low: PriceInUSD(minimum: Trade_PriceInUSD) close: PriceInUSD(maximum: Block_Time) volume: sum(of: Trade_Side_AmountInUSD) } } } } 

Whale-мониторинг крупных переводов USDT

query WhaleTransfers($minAmount: String!) { EVM(network: eth) { Transfers( where: { Transfer: { Currency: { SmartContract: { is: "0xdac17f958d2ee523a2206206994597c13d831ec7" } } Amount: { ge: $minAmount } } } limit: { count: 50 } orderBy: { descendingByField: "Block_Time" } ) { Block { Time Number } Transfer { From To Amount Currency { Symbol } } Transaction { Hash } } } } 

Rate limits: стратегии работы

Bitquery тарифицирует запросы в points — каждый запрос стоит очков в зависимости от объёма. Основные ограничения: запросы в минуту и месячный лимит points. Мы применяем три техники:

  • Кэширование. Исторические данные (сделки за прошлые дни) кэшируем в Redis или PostgreSQL на 24+ часов. К Bitquery идём только за свежим.
  • Пагинация через cursor. Запросы с limit возвращают до 1000 записей. Используем offset или cursor, пока не получим все данные.
    async function fetchAllTrades(poolAddress: string, since: string) { const allTrades = []; let offset = 0; const limit = 1000; while (true) { const data = await bitquery.request(TRADES_QUERY, { poolAddress, since, limit, offset }); const trades = data.EVM.DEXTradeByTokens; allTrades.push(...trades); if (trades.length < limit) break; offset += limit; await delay(200); // уважаем rate limit } return allTrades; } 

    Сводка стратегий:

    Стратегия Описание Применение
    Кэширование Сохраняем исторические данные в Redis Для торгов за прошлые дни
    Пагинация cursor Постраничная выгрузка с limit/offset Пакетная загрузка больших объёмов
    Батчинг Объединение запросов в один GraphQL Снижение числа HTTP round-trip

    Почему стоит использовать WebSocket для real-time?

    V2 поддерживает подписки через graphql-ws. Стандартная реализация на Node.js:

    import { createClient } from "graphql-ws"; import WebSocket from "ws"; const client = createClient({ url: "wss://streaming.bitquery.io/eap", webSocketImpl: WebSocket, connectionParams: { headers: { "X-API-KEY": process.env.BITQUERY_API_KEY } }, retryAttempts: Infinity, shouldRetry: () => true, }); const unsubscribe = client.subscribe( { query: SWAP_SUBSCRIPTION }, { next: (data) => processSwap(data.data.EVM.DEXTrades), error: (err) => logger.error("subscription error", err), complete: () => logger.info("subscription completed"), } ); 

    Обратите внимание: V2 WebSocket требует отдельного API ключа (EAP access), который выдаётся по запросу. WebSocket-подписки V2 доставляют события за 200-500 мс, что в 60 раз быстрее polling-запросов V1 (задержка 30 секунд). Это критично для мониторинга MEV-ботов и ликвидности.

    Ограничения Bitquery

    Bitquery — managed сервис, поэтому индексирование отстаёт на 1-3 блока, исторические данные могут иметь gaps, поддержка новых сетей запаздывает. Если ваши требования включают SLA менее секунды, кастомные события без ABI или compliance на своей инфраструктуре, рассмотрите альтернативы: Dune Analytics для ad-hoc SQL, The Graph для проектных subgraph, Goldsky/Envio для high-performance индексации.

    Что входит в нашу работу по интеграции

    Мы предоставляем полный цикл под ключ:

    1. Анализ требований и выбор версии API (V1/V2).
    2. Проектирование схемы запросов (DEX, transfers, NFT).
    3. Реализация с кэшированием, пагинацией, обработкой ошибок.
    4. Настройка WebSocket-подписок для real-time.
    5. Документация по вашим эндпоинтам и примерам.
    6. Поддержка при запуске и гарантийный период.

    Закажите интеграцию Bitquery API и сэкономьте время на разработку. Свяжитесь с нами, чтобы обсудить ваш проект. Получите консультацию и предварительную оценку стоимости бесплатно.

    Почему выбирают нас

    5+ лет опыта в блокчейн-разработке, 30+ успешных интеграций с Bitquery и другими API. Команда senior-инженеров, которые понимают внутреннее устройство Ethereum, Solana и L2. Мы не просто подключаем API — мы строим надёжные системы, которые не падают под нагрузкой.

    Свяжитесь с нами для оценки вашего проекта. Получите бесплатную консультацию.