Skip to main content
Это руководство демонстрирует, как построить гибкую систему мониторинга, которая может отслеживать любое on-chain событие, обрабатывать данные транзакций и доставлять уведомления в реальном времени через webhook. Объединяя мощные критерии триггеров системы Alert Tenderly с Web3 Actions, вы создадите модульную инфраструктуру мониторинга, способную адаптироваться под любые потребности мониторинга блокчейна — от простого отслеживания событий до сложных мультиконтрактных взаимодействий.
В этом руководстве предполагается, что у вас есть аккаунт Tenderly и базовое знакомство с Web3 Actions и событиями блокчейна.

Модульный мониторинг с Web3 Actions

Предварительные требования

Перед началом убедитесь, что у вас есть:
  • Node.js (в настоящее время в качестве последней версии поддерживается v20)
  • Установленный Tenderly CLI
  • Конечная точка webhook для получения данных
  • Базовое понимание TypeScript

Настройка системы

Основные компоненты

Обработка транзакции

Система начинает с обработки информации о транзакции:
showLineNumbers
Этот компонент:
  • Захватывает хеш транзакции и сеть
  • Получает трейсы транзакции через Tenderly API
  • Обрабатывает информацию о блоке

Получение информации о контракте

Информация о контракте (имена и ABI) получается с помощью Contracts API.
showLineNumbers

Обработка событий

Обработка событий выполняется с помощью специализированных функций:
showLineNumbers
Этот раздел:
  • Фильтрует события по имени
  • Извлекает параметры события
  • Обрабатывает адреса событий

Взаимодействие с webhook

Система отправляет эти структурированные данные на ваш webhook с помощью Axios:
showLineNumbers

Устранение неполадок

Распространённые проблемы и решения:
  1. Пропущенные события
    • Убедитесь, что EVENT_NAME точно соответствует событиям контракта
    • Проверьте конфигурацию оповещения в панели Tenderly
    • Просмотрите логи транзакции на предмет генерации события
  2. Ошибки API
    • Проверьте права токена BEARER
    • Проверьте доступность endpoint API
    • Проверьте настройки сети
  3. Проблемы с webhook
    • Убедитесь в доступности WEBHOOK_URL
    • Проверьте, что формат полезной нагрузки соответствует ожиданиям
    • Отслеживайте логи endpoint’а webhook