前提条件
您需要在本地机器上安装并正确配置 npm 和 Tenderly CLI。查看 Web3 Actions CLI 备忘单 以获取安装说明。初始化 Web3 Actions 项目
导航到系统中您要放置 Web3 Action 代码的文件夹,运行以下命令初始化一个新的 Web3 Actions 项目:example
example
.png?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=5191970c6b2a63a0ee869429dbeaf725)

example
构建和部署 Web3 Action
以下是构建和部署 Web3 Action 需要采取的步骤:- 创建 action 函数
- 配置 block 触发器以运行该函数
- 使用 CLI 将代码部署到 Tenderly
创建 action 函数
将以下代码复制到 example.ts 文件中:example.tsx
Context 对象和一个 Event 对象。
Context对象允许访问 Storage 和 Secrets。您可以在此阅读更多相关信息。event参数是一个包含有关触发 action 的外部(链上)事件信息的对象。因为我们希望在与区块相关的事件上运行此 action,所以event参数将是BlockEvent类型。BlockEvent对象包含被打包区块的相关信息,例如区块号、区块哈希和区块时间戳。
在 tenderly.yaml 中为新 action 配置触发器
步骤 1:将tenderly.yaml 文件的内容替换为以下内容:
example.yaml
username 和 project-slug 替换为您的用户名和项目 slug。
查看本指南以了解如何 查找组织名称、用户名和项目 slug。
注意:
tenderly.yaml 文件包含项目中每个 action 的触发器规范,并将触发器与 action 函数关联。在此,我们创建了一个名为 block-number-printer 的 action。
function属性引用了 example.ts 文件中的blockHelloWorldFn函数。- 按照
trigger属性,此 action 将在网络 1 上每被打包 10 个区块时触发。
构建和部署 actions
返回终端并运行以下命令来部署您定义的所有 Web3 Actions。成功部署后,actions 会出现在 Tenderly UI 中。example
Web3 Actions 的零停机升级\ 要 升级 Web3 Action,只需编辑源代码
和/或 tenderly.yaml 并运行
tenderly actions deploy.结束之前
请记住:- 您必须从包含 tenderly.yaml 文件的文件夹运行
deploy命令。 - 如果您在同一目录下为多个 Tenderly 项目初始化 actions,运行
deploy时将要求您选择一个项目。仅会部署所选项目下的 actions。 - 属于同一个项目的所有 actions 会同时部署。
- 从 JavaScript/TypeScript 引用的任何文件都必须位于 actions root 中。不要引用此文件夹之外的文件。
资源
- 了解更多关于 Web3 Actions 函数、事件和触发器。
- 了解更多关于 Context、Storage 和 Secrets。
- 了解更多关于 项目结构和 tenderly.yaml 配置。