本指南假定您已拥有 Tenderly 账户并对 Web3Actions 和区块链事件有基本了解。
使用 Web3Actions 进行模块化监控
前提条件
在开始之前,请确保您具备:- Node.js(当前支持的最新版本为 v20)
- 已安装 Tenderly CLI
- 用于接收数据的 webhook 端点
- 对 TypeScript 的基本理解
系统设置
1
创建 Alert
2
3

5

6
7

8
9
安装依赖
10
11
cd actions && npm install
12
配置环境变量
13
在您的 Tenderly Web3Action 中设置以下 Secrets:
14
WEBHOOK_URL = <Your webhook URL>
BEARER = <Your Tenderly API bearer token>
ACCOUNT_SLUG = <Your Tenderly account slug>
PROJECT_SLUG = <Your project slug>
EVENT_NAME = <Name of the event to track>
15
配置 tenderly.yaml
16
您的
tenderly.yaml 应该如下所示:17
account_id: "<YOUR_ACCOUNT_ID>"
actions:
<YOUR_ACCOUNT_ID>/<PROJECT_SLUG>:
runtime: v2
sources: actions
specs:
example:
description: "Event tracking system"
function: example:modularFn
trigger:
type: alert
alert: { <YOUR_ALERT_ID> }
execution_type: parallel
project_slug: "<PROJECT_SLUG>"
18
请确保将占位符替换为以下值:
19
20

21
部署您的 Web3 Action
22
运行以下命令来部署您的 Web3 Action:
23
tenderly actions deploy
核心组件
事务处理
系统从处理事务信息开始:showLineNumbers
- 捕获事务哈希和网络
- 通过 Tenderly API 获取事务 traces
- 处理区块信息
合约信息检索
使用 Contracts API 获取合约信息(名称和 ABI)。showLineNumbers
事件处理
事件处理通过专门的函数进行:showLineNumbers
- 按名称过滤事件
- 提取事件参数
- 处理事件地址
Webhook 交互
系统使用 Axios 将这些结构化数据发送到您的 webhook:showLineNumbers
故障排除
常见问题及解决方案:-
缺失事件
- 验证 EVENT_NAME 与合约事件完全匹配
- 检查 Tenderly dashboard 中的告警配置
- 查看事务日志以确认事件是否被发出
-
API 错误
- 验证 BEARER token 权限
- 检查 API 端点可用性
- 验证网络配置
-
Webhook 问题
- 确认 WEBHOOK_URL 可访问
- 检查负载格式是否符合预期
- 监控 webhook 端点日志