本文将以教程的形式展开,向大家介绍如何使用OP Stack搭建一条自己的基于Sepolia测试链(L1)的Layer2 (OP Stack Rollup链)。我们将尽量做到完全可复刻,跟着文章的步骤来,都可以成功搭建。

一、概览

OP Stack Rollup 旨在使用 EVM 等效区块链(例如以太坊、OP 主网或标准以太坊测试网)作为其 L1 链。 本教程使用 Sepolia 测试网作为 L1 链。 我们建议您也使用 Sepolia。 您还可以使用其他与 EVM 兼容的区块链,但可能会遇到意外错误。 如果您想使用备用网络,请务必仔细检查每个命令,并将任何特定于 Sepolia 的值替换为您的网络的值。 由于您要将 OP Stack 链部署到 Sepolia,因此您需要有权访问 Sepolia 节点。 您可以使用像 Alchemy 这样的节点提供商(更简单),也可以运行您自己的 Sepolia 节点。

使用OP Stack构建Layer2是一件简单但又没那么简单的事情,简单在于他真的可以在有限的步骤内就构建起一条我们自己的Layer2,不简单在于其系统毕竟还有一定的复杂度,如果直接一股脑的冲进去编译、部署,容易感到有点混乱。因此,让我们先通过思维导图的形式来直观的了解一下需要构建的内容。

1)部署组件

Untitled

部署组件包含Smart Contracts、Sequencer Node、Batcher、Proposer四个部分。 其中需要启动4个可执行程序:

op-geth:执行客户端

op-node:共识客户端

op-batcher:将交易从 Sequencer 发布到 L1 区块链的服务。

op-proposer:负责将交易结果(以 L2 状态根的形式)发布到 L1 区块链。 这允许 L1 上的智能合约读取 L2 的状态。

2)源代码模块分布

Untitled

:这里只列出了部署教程所需要用到的,并非全部。

二、构建基础环境

OP Stack的构建依赖许多的基础组件,如node, pnpm,direnv等。在进行部署前,我们需要将基础环境配置好。教程中,我们会简要的列出配置各个组件需要注意的地方,部分常用组件,我们会直接链接其安装文档,参考对应的文档安装即可,本文中不展开具体细节。

Dependency Version Version Check Command
git(opens in a new tab) ^2 git --version
go(opens in a new tab) ^1.21 go version
node(opens in a new tab) ^20 node --version
pnpm(opens in a new tab) ^8 pnpm --version
foundry(opens in a new tab) ^0.2.0 forge --version
make(opens in a new tab) ^3 make --version
jq(opens in a new tab) ^1.6 jq --version
direnv(opens in a new tab) ^2 direnv --version

1. 系统环境说明

由于每个人使用的系统版本不同,环境也不同。因此由于系统环境原因产生的异常,我们无法完全囊括,这需要朋友们自己解决。