Мониторинг событий контракта (вебхуки/поллинг)
Настроишь отслеживание транзакций контракта: polling через TonAPI и вебхуки TonAPI Webhooks API.
Задача мониторинга
Контракт не «пушит» события в твой бэкенд сам. Ты либо периодически читаешь новые транзакции/события (polling), либо подписываешься на доставку (webhooks). Для продукта обычно: webhook как primary + polling/replay для дыр.
Polling через TonAPI
Храни lastLt (или event_id) и забирай только хвост:
Интервал и лимиты подбирай под тариф; при 429 — exponential backoff (см. rate limit).
Вебхуки TonAPI
Webhooks API — private API key обязателен. Base: https://rt.tonapi.io.
- Создай webhook с публичным HTTPS endpoint:
- Подпиши аккаунт (raw-адрес предпочтителен):
Когда на аккаунте появляется транзакция, TonAPI шлёт POST на твой endpoint с account_id, tx_hash, lt. Дальше сам дочитай детали:
Testnet webhooks: https://rt-testnet.tonapi.io.
Как это работает
- Polling — простой и предсказуемый; платишь запросами и задержкой до
interval. - Webhooks — push по подписке; нужна проверка доступности URL и идемпотентность (повторные доставки бывают).
- Payload вебхука короткий — полный разбор через REST после сигнала.
- Для оплаты/зачисления не доверяй одному push: сверяй on-chain состояние (get-метод / баланс) перед финализацией в БД.
Частые ошибки
Публичный HTTP endpoint без TLS / за NAT → вебхуки не доезжают. Нужен стабильный HTTPS с валидным сертификатом.
Обрабатываешь одно и то же tx_hash дважды → дубли в БД. Ключ идемпотентности: tx_hash или event_id.
Только webhook, без replay → пропустил простой webhook'а — дыра в истории. Храни last_lt и периодически догоняй через polling.
Что дальше
- TonAPI: чтение ончейн-данных — эндпоинты для дочитывания
- Логическое время (Lt) — курсор
ltв цепочке сообщений - Внутренние и внешние сообщения — что именно мониторишь
Материалы gramdocs.tech носят образовательный характер и не являются финансовой, юридической или инвестиционной рекомендацией. Работа с блокчейном TON и токеном Gram связана с рисками потери средств. Правовая информация