Rollup节点规范

本文档是关于rollup node的规范,重点介绍了rollup driver的职责,即从L1链派生L2链的过程,包括从L1选择输入、生成payload attributes以及将payload attributes传递给执行引擎等步骤。同时,还介绍了Rollup节点提供的RPC方法optimism_outputAtBlock,该方法用于获取L2输出根。

Rollup 节点规范

<!-- 本文件中所有的词汇表引用。 -->

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

rollup 节点中推导 L2 链的部分称为 rollup 驱动。本文档目前只关注 rollup 驱动的规范。

<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- 不要编辑此段落,请重新运行 doctoc 以更新 --> 目录

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

驱动

rollup 节点驱动的任务是管理推导过程:

  • 跟踪 L1 head 区块
  • 跟踪 L2 链的同步进度
  • 当有新的输入可用时,迭代推导步骤

推导

这个过程分为三个步骤:

  1. 从 L1 链中选择输入,基于最后一个 L2 区块: 一系列区块,包含交易、相关数据和收据。
  2. 读取 L1 信息、存款和排序批次,以便生成 payload attributes (本质上是没有输出属性的区块)。
  3. 将 payload attributes 传递给执行引擎,以便计算 L2 区块(包括输出区块属性)。

虽然从概念上讲,这个过程是从 L1 链到 L2 链的纯函数,但实际上它是增量的。每当新的 L1 区块被添加到 L1 链时,L2 链就会被扩展。类似地,每当 L1 链发生重组时,L2 链也会重组。

有关 L2 区块推导的完整规范,请参阅 L2 区块推导文档

L2 输出 RPC 方法

Rollup 节点有自己的 RPC 方法 optimism_outputAtBlock,它返回一个 32 字节的哈希值,对应于 L2 输出根

输出方法 API

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

  • 方法: optimism_outputAtBlock
  • 参数:
    1. blockNumber: QUANTITY,64 位 - L2 整数区块号 </br> OR String - "safe""latest""pending" 之一。
  • 返回值:
    1. version: DATA,32 字节 - 输出根版本号,从 0 开始。
    2. l2OutputRoot: DATA,32 字节 - 输出根。
  • 原文链接: github.com/ethereum-opti...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
ethereum-optimism
ethereum-optimism
江湖只有他的大名,没有他的介绍。