Skip to main content
使用函数将 EVM 状态或事件输入转换为派生记录。本例查询代币余额,并在输出中携带读取上下文。

链与区块上下文

提供节点后端支持的链、具体区块标识、代币合约和持有人地址。所选区块必须可由后端提供。EVM(chain_id, block_id) 将该对象的状态读取与合约查询绑定到此上下文。

前置条件

  • 已接入 EVM 节点访问的 BlockX 执行环境。
  • 在所选区块实现 balanceOf(address)(uint256) 的合约。
  • 与 BlockX checkout 的 python/pyproject.toml 一致的函数依赖。

编写函数

保持 balance 为整数。需要写表时,准备兼容的目标列;表 Writer 会按目标 schema 投影返回记录。

提交参数

一次性计算时,将 [chain_id, block_id, token, holder] 放入 InputsCallConfig.callList 的一行,并使用 ReturnValueHandler。提交方式见一次性计算。 按触发表计算时,根据源 schema 组装这些参数。处理历史数据时,传入每行对应的区块上下文;选择 bundle 不会将所有行的依赖读取绑定到同一个历史区块。

确认结果

检查任务成功,并核对返回记录中的 balance、block_id 和 token。返回值确认这组参数的计算结果;只有选择表 Writer Plugin 时才会写表。

处理失败

继续阅读