Skip to main content
在本教程中,我们将向您展示如何设置 Tenderly Web3 Action 以监控 UniswapV3Factory 合约中的新池创建 并执行自动化操作。本项目演示了如何使用 Web3 Actions 与智能合约交互,并利用 Tenderly 的功能创建自定义监控系统。

UniswapV3Factory 监控 Web3 Action 模板

项目概览

本项目的目的是设置一个系统来监控 UniswapV3Factory 合约中的新池创建,并在满足特定条件时执行自动化操作。以下是项目流程的简要说明:
  1. Web3 Action 监听以太坊主网上 UniswapV3Factory 合约的 PoolCreated 事件。
  2. 检测到事件时,从事件数据中提取新池的地址。
  3. Action 将新池合约添加到您的 Tenderly 项目中,并为其添加标签以便于管理。

前提条件

在开始之前,请确保您已具备:

设置

让我们一步步设置您的 UniswapV3Factory 监控系统:

工作原理

您设置的 Web3 Action 将在 UniswapV3Factory 合约发出 PoolCreated 事件时自动触发。以下是 actionFn 函数的分解:
  1. 从 Tenderly context 中检索 ACCESS-KEY secret。
  2. 使用您的账户和项目详情初始化新的 Tenderly SDK 实例。
  3. 使用 ethers.js 定义 PoolCreated 事件签名。
  4. 循环遍历事件日志以查找 PoolCreated 事件并提取新池的地址。
  5. 使用 Tenderly SDK 将新池合约以显示名称 Pool 添加到您的 Tenderly 项目。
  6. 用 pool 标签为新池合约打标签以便于管理。
  7. 记录池地址和打标签过程的确认信息。
此实现自动将新的 Uniswap V3 池添加到您的 Tenderly 项目并为其打标签,使监控和管理这些合约变得更容易。

自定义

要修改您 Web3 Action 的行为:
  1. 编辑 uniswapV3Monitoring.ts 文件中的 actionFn。
  2. 您可以更改 tagName 变量以对池使用不同的标签。
  3. 添加额外的逻辑以处理事件中的更多信息或使用 Tenderly SDK 执行其他操作。
例如,要添加更详细的日志记录:

监控和故障排除

为确保您的 Web3 Action 正常工作:
  • 在 Tenderly dashboard 中监控您的 Web3 Action 执行
  • 检查 Tenderly 日志以查看任何错误消息或执行详情
  • 使用 Tenderly 的调试工具检查事务详情和合约交互
  • 查看您 Tenderly 项目的 Contracts 页面以查看新添加并已打标签的池合约
此设置专门用于监控以太坊主网上的 UniswapV3Factory 合约。
有关 Uniswap V3 及其合约的更多信息,请参阅 Uniswap V3 文档。