Skip to main content
您可以直接从您的 Web3 Action 函数中访问 Node RPC。这使您能够在 Mainnet 或测试网上发送事务,并通过 Web3 Actions 自动读取链上数据。 设置 Web3 Actions 以访问区块链只需极少的配置:一个 JavaScript 变量。无需担心复制/粘贴 RPC URL、管理密钥等。Tenderly 会在后台为您处理这一切。 在本指南中,您将学习如何配置您的 Web3 Action 函数代码,以使用 Tenderly 的生产节点访问 Mainnet。

上下文中的 Node RPC

在 Web3 Actions 中,通过 context 对象启用对 Tenderly 节点的访问。在此了解更多有关 Web3 Actions Context 的信息。 context 对象包含一个名为 gateways 的属性,它使您可以访问 getGateway() 方法。此方法需要一个参数 Network,用于指定您要访问的网络。 Network 枚举为 Node RPC 中每个受支持的网络提供一个成员,例如:
  • Network.MAINNET
  • Network.SEPOLIA
  • Network.POLYGON
  • Network.OPTIMISTIC
  • Network.BASE
  • Network.ARBITRUM
完整列表请参见 @tenderly/actions npm 包中的 networks.ts。 为演示这些如何整合在一起,以下是一个配置为访问 Mainnet 的示例 JavaScript 变量:
example.jsx

访问 Mainnet 的示例 Web3 Action 函数

让我们创建一个简单的 Web3 Action,每次 Mainnet 上打包新区块时它就会被触发。每次区块被打包时,Web3 Action 都会执行自定义代码(也称为 “函数”)。在此阅读更多关于 Web3 Action 函数 的信息。 为了简单起见,下面的示例函数将获取最新被打包区块的区块号并将其记录到控制台。 您可以阅读注释以了解每行代码的作用。
example.jsx
接下来,前往 Dashboard → Web3 Actions → Add Action。
Web3 Action set up wizard

Web3 Action 设置向导

  • 对于触发器类型,选择 Block。
  • 在 Function 文本框中,粘贴上面示例中的代码并点击 Next。
Custom code that is executed when the Web3 Action is triggered

Web3 Action 被触发时执行的自定义代码

  • 通过选择网络来设置 Trigger。在我们的例子中,即 Mainnet。
  • 同时,设置 Block Period 以告诉 Tenderly 执行 Web3 Action 函数的频率。例如,如果您填写 1,Web3 Action 将在每次区块被打包时执行一次。
  • 在 Info 字段中, 为 Web3 Action 添加名称 以及可选描述。
  • 您还可以设置一个 Destination,在此 接收通知 关于 Web3 Action 的失败执行。
  • 最后, 点击 Create 以部署 Web3 Action。
从 Execution History 页面,我们可以看到该 Web3 Action 正在成功执行。
Web3 Action execution history

Web3 Action 执行历史

您可以点击 Execution ID 查看已执行 Web3 Action 的详细信息以及 JSON 格式的负载。

有用的资源

有关如何管理您的 Web3 Actions 和监控执行错误的更多信息,请阅读以下指南: