本文介绍了在Optimism上进行web3开发时可用的不同类型的节点,包括公共Optimism节点、私有Optimism节点提供商和自托管Optimism节点。文章详细解释了Optimism节点的数据传输层(DTL)和客户端软件,并讨论了选择适合特定需求的Optimism节点的最佳方法。
由 Alchemy 撰写
由 Brady Werkheiser 审核
发布于 2022 年 9 月 6 日,阅读时长 5 分钟
为了从 Optimism 检索数据,dApp 需要通过 RPC 节点发送请求。在本文中,我们将探讨可用于支持在 Optimism 上进行 web3 开发的不同类型的节点。
Optimism 是一种以太坊 Layer 2 (L2) 扩展解决方案,它利用乐观 Rollup 的强大功能,实现每秒高达 2,000 笔的交易。Optimism 以一套清晰的核心设计价值观设计和维护其区块链。
简单性
实用主义
可持续性
乐观主义
乐观 Rollup 使用以太坊的安全性,通过将计算和数据存储移至链下,来提高以太坊基础层的吞吐量和延迟。Optimism 创建了一个在其 Layer 2 链上进行的许多交易的 Rollup,并将它们捆绑为一个。然后,Rollup 协议 乐观地假定所有这些交易的有效性,并将 Rollup 提交给以太坊 L1 链。
Optimism 节点是在单台计算机上运行的程序,允许构建者和交易者与 Optimism 区块链网络的其余部分连接。Optimism 节点涉及两个主要组成部分:数据传输层和客户端软件。
数据传输层充当 Optimism 和以太坊之间的联系。在以太坊上托管着一个智能合约——CanonicalTransactionChain (CTC) 合约——其中包含已发布到 Optimism 区块链的所有区块的列表。
DTL 通过检索先前发布到 CTC 的区块,定期在节点上构建 Optimism 区块链。如果没有 DTL,Optimism 节点将无法及时更新 L2 乐观 Rollup 构建的区块。
与数据传输层并行运行的是 Optimism 客户端软件。Optimism 客户端几乎与 Geth(或 Go Ethereum)的原始版本相同,而 Geth 是使用最广泛的 以太坊客户端。因此,在内部,Optimism 与以太坊非常相似,从而允许共享 EVM、相同的记账结构、Gas 计量等等。
在 Optimism 上开发的一个巨大好处是,大多数在以太坊上运行的工具也可以在 Optimism 上运行,而无需进行任何代码更改。
构建 Optimism 应用程序需要通过乐观 Rollup 将交易发布到 CTC。此外,Optimism 节点允许 dApp 检索有关 Optimism 区块的数据。为了在 Optimism 上支持高性能的 dApp,一个运行良好的节点是必不可少的。
有几种将 dApp 连接到 Optimism 节点的方法,包括私有 Optimism 节点、使用 Optimism 的公共 RPC 节点端点,以及运行自己的自托管节点。
大多数 Optimism 开发者会使用来自像 Alchemy 这样的 Optimism 节点供应商的私有 RPC 端点,因为公共端点和自托管节点有许多缺点,包括较低的吞吐量、较高的设置成本以及需要更多的工程维护支持。
Alchemy 管理着 Optimism 的主要公共端点,可以使用以下端点 URL 访问它:https://mainnet.optimism.io。
虽然支持公共端点,但 Optimism 强调公共 RPC 端点根本不适合生产使用。
公共 Optimism 端点将限制应用程序的速率,并且通常只支持有限的 JSON-RPC 方法。
如果 Optimism 公共节点的吞吐量限制了你的应用程序或交易,那么来自 专用 Optimism 节点供应商 的私有 Optimism RPC 端点将使工程师能够访问可靠且可扩展的 Optimism 节点。
Alchemy 是 Optimism 推荐的节点供应商。除了 web3 中最可靠的 Optimism 节点性能外,Alchemy 还为 Optimism 开发者提供了一系列主机开发工具,包括 Alchemy Build、Monitor 和 Optimism Webhook,所有这些工具旨在为你提供最佳的 Optimism 开发者体验。
Alchemy 提供强大的免费层级,让你可以开始使用可靠的 私有 Optimism RPC 端点。
要在 Alchemy 中创建一个新的 Optimism 应用程序,请执行以下操作:
注册 创建免费帐户 或登录到你现有的帐户
单击仪表板右上角的“创建应用程序”按钮
Alchemy 开发者平台仪表板。
现在填写以下字段,包括:
命名你的应用程序
编写描述
选择“Optimism”作为你的“链”
选择“Optimism Mainnet”作为你的网络
如果你想在 Optimism 的 Goerli 测试网上创建或迁移应用程序,你可以在“网络”下拉菜单中选择测试网。
使用 Alchemy 创建私有 Optimism RPC 端点。
接下来,单击仪表板上的“查看密钥”按钮 以查看你的 HTTPS 密钥,并开始向你的新节点发送请求!
从 Alchemy 应用程序仪表板复制你的 Optimism RPC 端点 URL。
现在,替换你应用程序中的 Optimism RPC URL,以开始通过 Alchemy 提供的专用 Optimism 端点发送流量。
为了完全控制其节点的配置和实施,开发者可以选择 运行自己的 Optimism 节点(即自托管节点)。
设置 Optimism 节点的第一步是确定节点的硬件。为此,Optimism 建议使用具有以下配置的系统:
至少 16GB 内存
至少有 100GB 可用空间的 SSD(固态硬盘)
在确定硬件后,Optimism 提供了两种设置自托管节点的方法的指导:使用 Docker 的配置和不使用 Docker 的配置。
以下是设置 Optimism 节点的两种方法的摘要。如果你决定设置节点,请按照 Optimism 的 节点配置说明 进行操作。
Optimism 推荐的设置自托管节点的方法是使用他们提供的 Docker 镜像。
通过对节点设置使用 Docker 镜像,你可以跳过许多配置步骤,因为这些镜像已经具有大多数配置设置。
以下是使用 Docker 配置的步骤的高级概述:
在你的机器上克隆节点 Github 存储库
配置节点设置
运行你的自托管 Optimism 节点
对于第二步,你必须提供多个其他节点、另一个 L2 Optimism 节点和一个 L1 RPC 节点。
辅助 L2 Optimism 节点将由你的 Optimism 节点用于验证其正确性,以太坊 (L1) RPC 节点用于检查你节点的状态根,并通过 CTC (CanonicalTransactionChain) 从 L1 下载 L2 区块
Optimism 建议这些支持节点来自 RPC 提供商。
使用此 Docker 配置,你的节点将受益于许多其他功能,以帮助你维护节点。
healthcheck 服务将定期将你的节点状态与参考节点的状态进行比较——确认你的节点正在正确同步。故障检测器将扫描来自 Optimism 排序器的交易,并将结果与在你的节点上计算的交易进行比较。最后,本地托管的仪表板将使你可以轻松访问基本的节点指标,包括故障数据、DTL 同步等等。
如果预配置的 Docker 镜像无法为你提供足够的自定义选项,Optimism 还会描述独立设置节点的框架。但是,他们不建议以这种方式设置节点。
虽然这些说明经过测试,但它们不如 Docker 配置那么强大。此方法存在设置功能不佳的节点的风险。以下是说明的摘要。
你需要安装的软件包和工具包括:
Libusb - Geth 用于检查硬件钱包的库
Node.js - Javascript 运行时
Yarn - 一个流行的 Node.js 软件包管理器
Go - 编程语言
DTL 是你的节点软件的第一部分。你将在此处下载源代码,编辑其配置并运行该层。
与 Docker 配置一样,你需要在此处为你 自托管的 Optimism 节点 提供另一个节点,以便它可以同步其区块。
运行后,管理 DTL 以确保它与 Optimism 正确同步。
设置你的 Optimism 客户端是你的自托管节点的第二部分。你必须编译源代码,从 Optimism 的创世下载并验证状态,创建并配置其环境,运行配置,最后启动客户端。
运行自托管节点是希望更好地控制其 Optimism 节点配置的专业 web3 开发人员的另一种选择。但是,与使用像 Alchemy 这样的 Optimism 节点提供商和开发者平台相比,选择启动和管理自托管节点的成本更高且更耗时。
在大多数情况下,使用 Alchemy 的私有 Optimism 端点是最佳选择。公共 Optimism 端点不应用于生产流量,除非你是专业的基础架构工程师,否则不应管理自己的 Optimism 节点。
即使你是在 Optimism 上的普通交易者或 dApp 用户,使用专用 Optimism 端点更新你的 MetaMask 钱包 也可以提供更快、更可靠的服务。
立即 开始使用 市场上最强大、免费的 Optimism 节点提供商层级,并通过 Alchemy 释放你的 dApp 的全部力量。
Supercharged | Alchemy | Substack
获取免费的 Optimism RPC 和开发者工具 获取你的 API 密钥
📚 目录
分享:
\
\
Layer 2\
\
Rollup-as-a-Service Provider Comparison: How to Choose the Right RaaS Partner\
\
Explore the industry’s leading RaaS providers and factors to consider when choosing a RaaS.
\
\
Layer 2\
\
What is ZKsync Era? An Overview For Ethereum Developers\
\
Learn about ZKsync Era - the EVM-compatible ZK rollup powering Ethereum scaling.
\
\
Layer 2\
\
What are Rollups-as-a-service (RaaS)?\
\
Learn About Where Rollups as a Service Fit In The Ethereum Layer 2 Ecosystem
Alchemy 将最强大的 web3 开发者产品和工具与资源、社区和传奇支持相结合。
- 原文链接: alchemy.com/overviews/op...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!