Defender 允许你使用 Action Workflow 快速定位并激活链上活动。本教程展示了如何创建一个工作流,该工作流监控 Box 合约中的对象数量,并在向其添加对象时执行一个 action。
1. Action 设置
在本教程中,你将监控 Sepolia 中的这个合约,该合约存储了多个对象,同时允许任何人分别使用 addObject()
和 removeObject()
函数来添加或删除对象。对于添加的每个对象,你的工作流将执行一个 action,该 action 会删除一个对象并将总数减少一。要设置该 action,请按照下列步骤操作:
-
在 web 浏览器中打开 Defender Relayers。
-
使用以下参数填写表单,然后单击 Create:
-
Name:
Relayer Sepolia
-
Network:
Sepolia
-
-
将一些 Sepolia ETH 转移到上一步中创建的中继器地址。
-
导航到 Defender Address Book 以导入
BoxV2
合约。 -
使用以下参数填写表单,然后单击 Create:
-
Name:
BoxV2
-
Network:
Sepolia
-
Address:
0xC64f7ace6127bc7B0bAb23bD1871aC81e6AEC074
-
-
使用以下参数填写 General Information 部分:
-
Name:
Remove object
-
Contract:
BoxV2
-
-
从 Function 部分的下拉菜单中选择
removeObject
函数。 -
展开 Approval Process 部分的下拉菜单,然后单击
Create Approval Process
。 -
使用以下参数填写表单,然后单击 Save Changes:
-
Name:
BoxV2 IR Sender
-
Relayer:
Relayer Sepolia
(在第一步中创建)
-
-
选择
BoxV2 IR Sender
作为审批流程,然后单击Save Transaction Template
2. Workflow 设置
配置好 action 后,现在需要创建工作流。为此,请按照下列步骤操作:
-
将工作流重命名为
Remove from BoxV2 if Object is Added
。 -
将
Remove object
action 拖到第一行。 -
单击 Save。
3. Monitor 设置
创建工作流后,你需要配置一个 monitor,以跟踪 BoxV2 合约中的对象数量以触发该工作流。为此,请按照下列步骤操作:
-
使用以下参数填写 General Information 部分:
-
Name:
BoxV2 Objects Monitor
-
Risk Category:
Suspicious Activity
-
Contract:
BoxV2
-
Confirmation Blocks:
Confirmed (1 blocks)
-
-
在 Transaction Filters 部分,为
Transaction properties
字段添加status == "success"
。 -
在 Function 部分,选择
addObject()
-
在 Alerts 部分中,为
Execute a Workflow
选项选择Remove from BoxV2 if Object is Added
工作流。 -
单击 Save Monitor,这将开始运行。
4. 实际应用
当 monitor 运行时,它将检测任何与 addObject()
函数匹配的交易以触发工作流。要手动执行此类交易,请按照下列步骤操作:
-
使用以下参数填写表单:
-
Name:
BoxV2 Add Object Trigger
-
Contract:
BoxV2
-
Function:
addObject
-
Approval Process:
BoxV2 IR Sender
-
-
单击 Submit Transaction Proposal。
-
单击交易提案以打开其页面。
-
单击右上角的 Approve and Execute 按钮以执行交易,这将通过 monitor 触发工作流。
-
等待交易执行完毕并打开 Defender Workflows 页面。
-
单击 View Active Run 并检查工作流响应的详细信息。
-
成功执行运行后,你可以通过检查 Etherscan 上的合约活动来验证响应。它应该看起来像这样:
下一步
恭喜!你现在有了一个完整的工作流,它将运行并检查每个已确认的区块。工作流可以通过并行 action 进行扩展,以实现更多技术组合。如果你对高级用例感兴趣,我们正在编写与 Workflow 相关的指南。