引言

rollup 节点 是负责从 L1 块(及其相关收据)推导 L2 链的组件

推导 L2 链的 rollup 节点部分称为 rollup driver。 本文档目前仅关注 rollup driver 的规范。

Driver

rollup 节点driver 的任务是管理 推导过程

  • 跟踪 L1 头块
  • 跟踪 L2 链同步进度
  • 当新输入可用时迭代派生步骤

derivation

该过程分三个步骤进行:

虽然这个过程在概念上是从 L1 链到 L2 链的纯函数,但实际上它是增量的。每当新的 L1 块添加到 L1 链时,L2 链就会扩展。同样,每当 L1 链 重组 时,L2 链也会重组。

L2 块推导的完整规范,请参考 L2 块推导文档

L2 Output RPC method

Rollup 节点有自己的 RPC 方法 optimism_outputAtBlock,它返回对应于 L2 output root 的 32 字节散列。

Output Method API

这里的输入和返回类型由 引擎 API 规范定义

  • method: optimism_outputAtBlock
  • params:
    • blockNumber: QUANTITY, 64 bits - L2 integer block number
    • OR String - one of “safe”, “latest”, or “pending”.
  • returns:
    • version: DATA, 32 Bytes - the output root version number, beginning with 0.
    • l2OutputRoot: DATA, 32 Bytes - the output root

总结