哪种 Optimism 节点最好?公共节点 vs 私有节点 vs 自托管节点
作者 Alchemy
要从Optimism获取数据,dApp需要通过RPC节点发送请求。本文将探讨在Optimism上支持web3开发的不同类型节点。
什么是Optimism?
Optimism是一个Ethereum二层(L2)扩容方案,利用Optimistic Rollup技术实现每秒最多2,000笔交易。Optimism团队按照一套明确的核心设计原则设计并维护其区块链。
- 简洁性
- 实用主义
- 可持续性
- Optimism
什么是optimistic rollup?
optimistic rollup利用Ethereum的安全性,通过将计算和数据存储转移到链下,来提高Ethereum基础层的吞吐量并降低延迟。Optimism会将其二层链上产生的大量交易打包成一个rollup。然后,rollup协议会乐观地假设这些交易全部有效,并将该rollup提交至Ethereum L1链。
什么是Optimism节点?
Optimism节点是运行在单台计算机上的程序,使开发者和交易者能够连接到Optimism区块链网络的其余部分。Optimism节点涉及两个主要组成部分:数据传输层(Data Transport Layer)和客户端软件(Client Software)。
数据传输层(DTL)
数据传输层充当Optimism与Ethereum之间的连接。Ethereum上托管着一个智能合约——CanonicalTransactionChain(CTC)合约——其中包含发布到Optimism区块链的所有区块列表。
DTL会定期通过检索之前发布到CTC的区块,在节点上构建Optimism区块链。如果没有DTL,Optimism节点将无法及时同步L2 optimistic rollup所构建的区块。
客户端软件
与数据传输层一同运行的是Optimism客户端软件。Optimism客户端与原版Geth(即Go Ethereum,最广泛使用的Ethereum客户端)几乎完全相同。因此,在内部结构上,Optimism与Ethereum非常相似,共享EVM、相同的账户结构、gas计量机制等等。
在Optimism上开发的一大优势在于,大多数适用于Ethereum的工具几乎无需修改代码即可在Optimism上使用。
为什么需要Optimism节点?
构建Optimism应用需要通过optimistic rollup将交易发布至CTC。此外,Optimism节点还允许应用程序检索有关Optimism区块的数据。要在Optimism上支持高性能的dApp,运行良好的节点是必不可少的。
Optimism节点的类型
将dApp连接到Optimism节点有多种方式,包括私有Optimism节点、使用Optimism的公共RPC节点端点,以及运行自托管节点。
大多数Optimism开发者会选择使用像Alchemy这样的Optimism节点提供商所提供的私有RPC端点,因为公共端点和自托管节点存在诸多缺点,包括吞吐量较低、搭建成本较高,以及需要投入更多工程维护资源。
1. 公共Optimism节点
Alchemy负责维护Optimism的主要公共端点,可通过以下端点URL访问:https://mainnet.optimism.io。
尽管Optimism支持公共端点,但其明确表示公共RPC端点完全不适合用于生产环境。
Optimism公共端点会对应用程序进行速率限制,并且通常只支持有限的JSON-RPC方法。
2. 私有Optimism节点提供商
如果Optimism公共节点的吞吐量限制影响了你的应用或交易,使用来自专业Optimism节点提供商的私有Optimism RPC端点,可以让工程师获得可靠且可扩展的Optimism节点。
Alchemy是Optimism推荐的节点提供商。除了在web3领域提供最可靠的Optimism节点性能外,Alchemy还为Optimism开发者提供了一系列开发工具,包括Alchemy Build、Monitor,以及Optimism webhooks,这些工具都旨在为你提供最佳的Optimism开发体验。
如何开始使用Alchemy的私有Optimism RPC端点
Alchemy提供功能强大的免费套餐,让你可以立即开始使用可靠的私有Optimism RPC端点。
在Alchemy中创建新的Optimism应用:
- 注册创建免费账户,或登录已有账户
- 点击控制面板右上角的“Create App”按钮

接下来填写以下字段:
- 为应用命名
- 填写描述
- 在“Chain”中选择“Optimism”
- 在“Network”中选择“Optimism Mainnet”
如果你想在Optimism的Goerli测试网上创建或迁移应用,可以在“Network”下拉菜单中选择该测试网。

接下来,点击控制面板上的“View Key”按钮查看你的HTTPS密钥,即可开始向你的新节点发送请求!

现在,将应用中的Optimism RPC URL替换掉,即可开始通过Alchemy提供的专用Optimism端点发送流量。
3. 自托管Optimism节点
为了完全掌控节点的配置和实现方式,开发者可以选择运行自己的Optimism节点(即自托管节点)。
搭建Optimism节点的第一步是确定节点的硬件配置。为此,Optimism建议使用以下配置的系统:
- 至少16GB内存
- 至少100GB可用空间的SSD(固态硬盘)
确定硬件后,Optimism提供了两种搭建自托管节点的方法:使用Docker的配置方式,以及不使用Docker的配置方式。
以下是这两种搭建Optimism节点方法的概要说明。如果你决定搭建节点,请遵循Optimism的节点配置说明。
1. Docker配置
Optimism推荐的自托管节点搭建方法是使用其提供的Docker镜像。
使用Docker镜像搭建节点,可以省去许多配置步骤,因为镜像中已经包含了大多数配置设置。
以下是使用Docker配置方式的高层步骤概览:
- 将节点的Github代码仓库克隆到本地机器
- 配置节点设置
- 运行你的自托管Optimism节点
在第二步中,你需要提供其他多个节点:另一个L2 Optimism节点和一个L1 RPC节点。
你的Optimism节点会使用这个次级L2 Optimism节点来验证自身的正确性,而Ethereum(L1)RPC节点则用于检查节点的状态根(state roots),并通过CTC(CanonicalTransactionChain)从L1下载L2区块。
Optimism建议这些辅助节点由RPC提供商提供。
使用这种Docker配置方式,你的节点将获得多项额外功能,帮助你维护节点。
健康检查服务如何工作?
健康检查服务会定期将你的节点状态与参考节点的状态进行比较,以确认你的节点正常同步。故障检测器会扫描来自Optimism排序器(sequencer)的交易,并将结果与你节点上计算出的交易进行比对。最后,本地托管的仪表盘可以让你轻松查看基本的节点指标,包括故障数据、DTL同步状态等。
2. 非Docker配置
如果预配置的Docker镜像无法满足你的自定义需求,Optimism也提供了独立搭建节点的框架说明。不过,官方并不推荐采用这种方式搭建节点。
虽然这些说明经过了测试,但其稳健性不及Docker配置方式。采用这种方法存在搭建出功能不佳节点的风险。以下是该说明的概要。
- 安装运行Optimism节点所需的软件包和工具
你需要安装的软件包和工具包括:
- Libusb - Geth用于检测硬件钱包的库
- Node.js - 一种JavaScript运行时环境
- Yarn - 一款常用的Node.js包管理工具
- Go - 编程语言
- 搭建数据传输层
DTL是节点软件的第一个组成部分。在这一步中,你需要下载源代码、编辑其配置,并运行该层。
与Docker配置方式一样,这里你也需要为自托管的Optimism节点提供另一个节点,以便同步区块。
运行后,需管理DTL以确保它与Optimism正确同步。
- 搭建Optimism客户端
搭建Optimism客户端是自托管节点的第二个组成部分。你需要编译源代码、下载并验证来自Optimism创世区块的状态、创建并配置其运行环境、运行该配置,最后启动客户端。
对于希望更全面掌控Optimism节点配置的资深web3开发者而言,运行自托管节点是一种可选方案。但相较于使用像Alchemy这样的Optimism节点提供商及开发者平台,搭建和管理自托管节点在成本和时间投入上都更高。
哪种Optimism节点类型最适合我?
在大多数情况下,通过Alchemy使用私有Optimism端点是最佳选择。公共Optimism端点不应用于生产环境流量,而除非你是资深的基础设施工程师,否则不应自行管理Optimism节点。
即使你只是Optimism上的普通交易者或dApp用户,将MetaMask钱包更新为使用专用Optimism端点也能带来更快、更可靠的服务。
立即开始使用市面上最强大的免费Optimism节点服务,借助Alchemy充分释放你的dApp潜力。
相关概览

构建区块链应用
Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。


