Перейти к основному содержанию
В этом туториале мы покажем вам, как настроить Tenderly Web3 Action для мониторинга создания новых пулов в контракте UniswapV3Factory и выполнения автоматизированных действий. Этот проект демонстрирует, как использовать Web3 Actions для взаимодействия со смарт-контрактами и возможности Tenderly для создания собственной системы мониторинга.

Шаблон Web3 Action для мониторинга UniswapV3Factory

Обзор проекта

Цель этого проекта — настроить систему, которая отслеживает создание новых пулов в контракте UniswapV3Factory и выполняет автоматизированные действия при выполнении определённых условий. Вот краткое описание процесса проекта:
  1. Web3 Action отслеживает события PoolCreated от контракта UniswapV3Factory в Ethereum mainnet.
  2. Когда событие обнаружено, извлекается адрес нового пула из данных события.
  3. Action добавляет новый контракт пула в ваш проект Tenderly и помечает его тегом для облегчения управления.

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

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

Настройка

Пройдём через шаги настройки вашей системы мониторинга UniswapV3Factory:

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

Настроенный вами Web3 Action будет автоматически срабатывать всякий раз, когда контракт UniswapV3Factory генерирует событие PoolCreated. Вот разбор функции actionFn:
  1. Получает секрет ACCESS-KEY из контекста Tenderly.
  2. Инициализирует новый экземпляр Tenderly SDK с деталями вашего аккаунта и проекта.
  3. Определяет сигнатуру события PoolCreated с помощью ethers.js.
  4. Проходит по логам события, чтобы найти событие PoolCreated, и извлекает адрес нового пула.
  5. С помощью Tenderly SDK добавляет новый контракт пула в ваш проект Tenderly с отображаемым именем Pool.
  6. Помечает новый контракт пула тегом pool для облегчения управления.
  7. Логирует адрес пула и подтверждение процесса тегирования.
Эта реализация автоматически добавляет новые пулы Uniswap V3 в ваш проект Tenderly и помечает их тегами, что упрощает мониторинг и управление этими контрактами.

Кастомизация

Чтобы изменить поведение вашего Web3 Action:
  1. Отредактируйте actionFn в файле uniswapV3Monitoring.ts.
  2. Вы можете изменить переменную tagName, чтобы использовать другой тег для пулов.
  3. Добавьте дополнительную логику для обработки большей информации из события или выполнения других действий с помощью Tenderly SDK.
Например, для добавления более подробного логирования:

Мониторинг и устранение неполадок

Чтобы убедиться, что ваш Web3 Action работает корректно:
  • Отслеживайте выполнения Web3 Action в панели Tenderly
  • Проверяйте логи Tenderly на предмет сообщений об ошибках или деталей выполнения
  • Используйте инструменты отладки Tenderly для инспекции деталей транзакций и взаимодействий с контрактами
  • Проверяйте страницу Contracts вашего проекта Tenderly, чтобы увидеть добавленные и помеченные контракты пулов
Эта настройка специально предназначена для мониторинга контракта UniswapV3Factory в Ethereum mainnet.

Заключение

Теперь вы настроили пользовательскую систему мониторинга с использованием Tenderly Web3 Actions для отслеживания создания новых пулов в контракте UniswapV3Factory. Этот проект демонстрирует, как взаимодействовать со смарт-контрактами, использовать Tenderly SDK и создавать автоматизированную систему для мониторинга и реагирования на конкретные события блокчейна. Для получения дополнительной информации о Uniswap V3 и его контрактах обратитесь к документации Uniswap V3.