Индексация данных: ton-etl и Dune

Поймёшь пайплайн TON-ETL и выполнишь первый SQL-запрос к таблицам TON на Dune Analytics.

Когда нужен индекс, а не RPC

RPC/REST (Toncenter, TonAPI) отвечают на точечные вопросы: баланс, последние N событий. Аналитика — объёмы DEX за месяц, уникальные минты, воронки — требует колоночного хранилища и SQL.

TON-ETL (ton-studio/ton-etl, релиз линейки v1.5+) — пайплайн: нода → ton-index-worker → парсеры → S3 Data Lake / Kafka. Dune Analytics читает этот public data lake и отдаёт таблицы вроде ton.messages, ton.jetton_events, ton.dex_trades.


Первый запрос на Dune

Открой dune.com, создай Query к датасету TON. Пример — число jetton-событий за сутки:

sql
-- Dune · таблицы TON из public data lake (TON-ETL)
SELECT
  date_trunc('day', block_time) AS day,
  count(*) AS events
FROM ton.jetton_events
WHERE block_time >= now() - interval '7' day
GROUP BY 1
ORDER BY 1;

Пример — топ получателей jetton-трансферов за период (имена колонок сверяй в UI Dune — схема эволюционирует):

sql
SELECT
  destination AS wallet,
  count(*) AS transfers
FROM ton.jetton_events
WHERE block_time >= TIMESTAMP '2026-07-01'
  AND block_time <  TIMESTAMP '2026-07-08'
GROUP BY 1
ORDER BY transfers DESC
LIMIT 20;

Публичный bulk без Dune — AWS Public Blockchain Data:

text
s3://aws-public-blockchain/v1.1/ton/

Формат — Avro/паркет-слои data lake; для ad-hoc удобнее Dune, для своего пайплайна — Athena/Spark поверх S3.

Как это работает

  • ton-index-worker (Toncenter) пишет сырые блоки/tx в Postgres.
  • Парсеры TON-ETL декодируют jetton, NFT, DEX-свапы в единые модели.
  • Экспортёры кладут данные в S3 и (опционально) в Kafka near-realtime топики.
  • Dune строится на этом lake: ты пишешь SQL, не поднимаешь ноду.
  • Свой полный TON-ETL имеет смысл только если нужен кастомный декодер или приватный стрим; для большинства продуктовых дашбордов хватает Dune.

Частые ошибки

Сравниваешь Dune с live балансом «прямо сейчас» → у аналитических таблиц задержка относительно tip цепи. Для онлайн-UI бери TonAPI/свой индекс, для отчётов — Dune.

Жёстко зашиваешь имена колонок из чужого дашборда → схема обновляется. Всегда смотри schema в редакторе Dune перед продакшен-отчётом.

Тащишь полный ETL «чтобы просто построить график» → избыточно. Сначала Dune; свой ton-etl — когда нужен Kafka/S3 у себя или новый DEX-декодер (через PR в репозиторий).


Что дальше

Материалы gramdocs.tech носят образовательный характер и не являются финансовой, юридической или инвестиционной рекомендацией. Работа с блокчейном TON и токеном Gram связана с рисками потери средств. Правовая информация