> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockx.chaintable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Call Builder 与 Writer Plugin

> 选择 EVM 区块输入、历史输入和结果去向。

Call Builder 将任务输入展开为函数调用，Writer Plugin 处理这些调用的输出。两者连接 EVM 源数据、你的计算逻辑与结果去向。

## 选择输入

| Call Builder | 输入 | 典型用途 |
| - | - | - |
| `BlockTableCallConfig` | 触发表在指定区块的数据行 | 为新区块生成派生数据 |
| `BlockBundleCallConfig` | 历史 bundle 中的源数据行 | 回填派生数据 |
| `InputsCallConfig` | 显式位置参数列表 | 为选定实体执行函数，或测试输入 |

触发行模板将源字段放入函数参数。依赖读取所需的链与区块上下文应显式传入。可选 operator 在函数执行前过滤触发行或去重。

## 选择结果去向

| Writer Plugin | 去向 | 上下文 |
| - | - | - |
| `BlockTableWriteHandler` | BlockDB block 表 | block 部署使用区块，bundle 部署使用 bundle |
| `NormalTableWriteHandler` | BlockDB 普通表 | 按键组织的记录，handler 不含区块字段 |
| `ReturnValueHandler` | 调用方 | 收集到的输出，可用于 block 部署 |

这些是使用指南涉及的路径。协议字段与其他已注册 Writer 见[配置参考](/zh/reference/task-configuration)。

## 组合方式

| 计算 | Call Builder | Writer Plugin |
| - | - | - |
| 为一个 EVM 区块生成派生记录 | `BlockTableCallConfig` | `BlockTableWriteHandler` |
| 回填历史派生记录 | `BlockBundleCallConfig` | `BlockTableWriteHandler` |
| 查询选定账户或合约 | `InputsCallConfig` | `ReturnValueHandler` |
| 更新按键查询的表 | 部署支持的任意输入 | `NormalTableWriteHandler` |

根据计算目的匹配输入与输出上下文。Writer Plugin 成功表示其自身操作成功；消费写入数据前，请确认[执行语义](/zh/concepts/execution-semantics)。

## 小结

* Call Builder 选择输入行或参数。
* Writer Plugin 选择结果去向与写入上下文。
* 输入选择与输出写入上下文必须对应目标区块或 bundle。

继续阅读：

* [配置参考](/zh/reference/task-configuration)
* [按区块计算](/zh/guides/block-computation)
* [回填历史 bundle](/zh/guides/bundle-backfill)
* [Plugin 系统](/zh/components/plugins)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.