风险提示:必查客提醒,根据银保监会等五部门文件,广大群众需理性看待区块链,树立正确的货币观念和投资理念,切实提高风险意识!
必查客

区块链投诉维权平台

行必查·知可为

一文分析 Optimism 三种不同节点的优缺点

必查客
查小美2022/9/23
297

摘要:本文针对 Optimism 应用开发者分析了三种不同节点的优缺点,给出了设置不同节点的简易教程

  为了从Optimism检索数据,dApp需要通过RPC(Remote Procedure Call,远程过程调用)节点发送检索请求。

  在这篇文章,我们将探索Optimism上用于web3开发支持的不同类型的节点。

  什么是Optimism?

  Optimism是以太坊二层(L2)的扩容解决方案,它利用optimistic rollup的这一技术解决方案使得每秒2000笔交易的处理成为可能。

  Optimism基于一套清晰的核心设计理念去设计以及维护他们的区块链网络。

  简约性

  实用主义

  可持续性

  乐观主义

  什么是optimistic rollup?

  optimistic rollup通过将计算和数据储存迁移至链下,利用以太坊的安全性来提升以太坊基础层的吞吐量并改善它的网络延迟。

  Optimism创造了一种在L2链上进行许多交易的rollup技术,将交易捆在一起。

  接着,rollup协议乐观地假设了所有这些交易的有效性,并将打包的rollup交易捆提交至以太坊的一层(L1)链。

  什么是Optimism节点?

  Optimism节点是一个程序,运行在单个计算机上,让构建者和交易员与Optimism区块链网络中的其他人连接。

  Optimism节点包括了两个重要组件:数据传输层(the Data Transport Layer)和客户端软件。

  数据传输层(DTL)

  数据传输层是Optimism和以太坊之间的联系。而托管在以太坊上的智能合约——(CanonicalTransactionChain,CTC)合约——包含着所有发布至Optimism区块链的一系列区块。

  DTL会通过检索之前发布至CTC的区块,定期在一个节点上构造Optimism区块链。如果没有DTL,Optimism的节点将无法及时获取L2 optimistic rollup构造的区块数据。

  客户端软件

  与DTL一起运行的是Optimism的客户端软件。

  Optimism的客户端与Geth(又称Go Ethereum)的原生版本几乎一样——Geth是最广泛使用的以太坊客户端。

  就其本身而言,Optimism和以太坊非常相似,都可以使用共享的EVM,相似的计费结构和gas计量等。

  在Optimism上开发的大好处就在于,大多数以太坊上运作的工具也能在Optimism上使用,几乎不用修改代码。

  为什么需要一个Optimism节点?

  构建一个Optimism的应用程序需要通过optimistic rollup发布交易至CTC。

  此外,Optimism节点允许dApp检索关于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推荐的节点提供商,Alchemy除了拥有web3中最可靠的Optimism节点性能之外,它提供Optimism的开发者以一系列的主机开发工具,包括Alchemy Build、Minitor和Optimism webhooks,这些都是为了给予开发者最好的Optimism开发经验而设计的。

  如何使用Alchemy的私人Optimism RPC端点?

  Alchemy提供着强大的免费层,让用户能够以一个可靠的私人Optimism RPC端点开始。

  在Alchemy中创建一个新的Optimism应用:

  注册后创建一个免费的账户或是登录你现有的账户

  点击dashboard右上方“Create APP”的按钮

  Alchemy开发者平台dashboard

  现在请填写下列的部分,包括:

  命名你的应用

  填写描述

  选择“Optimism”作为你的“链”

  选择“Optimism主网”作为你的网络

  如果你想要在Optimism的Goerli测试网上创建或迁移应用,你可以选择“网络”下拉式列表中的Goerli测试网。

  使用Alchemy创建一个私人Optimism RPC端点

  接下来,点击dashboard“View Key(查看密钥)”的按钮来查看你的HTTPS密钥并开始发送请求至你的新节点上!

  从Alchemy应用的dashboard上复制你的Optimism RPC端点的URL

  现在,请替换你应用中的Optimism RPC URL,通过Alchemy专门提供的Optimism端点开始发送流量。

  3.自托管的Optimism节点

  为了完成对自己节点的配置和实现的控制,开发者可能会选择运行自己的Optimism节点(比如,自托管的节点)。

  设置Optimism节点的第一步是确定自己的节点硬件。在这方面,Optimism建议系统需要满足:

  至少有16 GB的内存

  一个至少有100 GB可用空间SSD(固态硬盘)

  在确定硬件后,Optimism提供商指定了两种设置用户自托管节点的方式:一种是使用Docker的配置,而另一种是不使用Docker的配置。

  以下是对两种设置Optimism节点方式的总结。如果你决定要设置一个节点,可以跟着Optimism的节点配置指示。

  (1)Docker的配置

  Optimism推荐的设置自托管节点的方法就是使用他们的提供的Docker镜像。

  通过设置节点的Dokcer镜像,你可以跳过很多配置步骤,因为该镜像已经设置了大多数配置。

  这里是使用Docker配置步骤的简要概述:

  在你的计算机上克隆节点的Github仓库

  配置节点设置

  运行自托管的Optimism节点

  在第二步,你将必须提供多个其他节点,另一个L2 Optimism节点和L1的RPC节点。

  另一个的L2 Optimism节点将会由你的Optimism节点用来验证其正确性,而以太坊(L1)的RPC节点则用来检查你的节点状态根,并通过CTC从L1下载L2的区块。

  Optimism建议使用RPC提供商的支持节点。

  使用这个Docker配置,你的节点将会从一些额外功能中受益,帮助你维护节点。

  网络健康检测服务怎么进行?

  网络健康检测服务会定期把你的节点状态和参考节点的状态进行对比,确保你的节点正确进行同步。

  错误检测器会扫描来自Optimism定序者的交易并对比在你节点上计算的交易结果。

  最后,本地托管的dashboard会让你轻松地访问基本的节点衡量标准,包括故障数据、DTL同步等。

  2.非Docker配置

  如果预先配置的Docker镜像没能为你提供足够的自定义,Optimism还描述了独立设置节点的框架。然而,他们并不会推荐这种设置节点的方式。

  尽管这些指示经过了测试,但是它们不如Docker配置方式那样稳当。这个方法可能伴随着设置节点功能不佳的风险。这个方法的指示如下:

  1.安装需要运行Optimism节点的软件包和工具

  你想要安装的软件包和工具如下:

  Libusb-Geth用来检查硬件钱包的库

  Node.js-一段Javascript运行时间

  Yarn-一个常见的Node.js软件包管理工具

  Go-节点运行的编程语言

  2.设置数据传输层

  DTL是节点软件的第一部分。你会在这里下载源代码,编辑它的配置和运行这个层。

  就像Docker配置的情况一样,你将需要在这里为你的自托管Optimism节点提供另一个节点,让它可以同步它的区块。

  一旦进行运行,你需要管理DTL以确保它与Optimism进行正确的同步。

  3.设置Optimism的客户端

  设置Optimism客户端是你的自托管节点要做的第二部分。你必须编译源代码,下载和验证来自Optimism创世节点的状态,创建和配置它的环境,运行其配置并在最后开启客户端。

  对于想要更多地控制自己的节点配置的专业web3开发者来说,运行自托管节点只是另外一种选择。但是,比起使用Optimism节点提供商以及Alchemy等开发者平台,启动和管理自托管节点是更加昂贵且耗费时间的选择。

  哪种Optimism节点最适合我?

  在大多数情况下,通过Alchemy使用私人Optimism端点是最好的选择。

  公共Optimism端点不应该服务于产品级别项目的流量,除非你是专业的基础设施工程师,不然你就不应该管理自己的Optimism节点。

  即使你是Optimism上临时的交易员或者的dApp用户,用一个专门的Optimism端点来更新自己的Metamask钱包也可以为自己提供给更快且更可靠的服务。

  从今天开始,在市场中使用强大的、免费的Optimism节点提供商层,用Alchemy来释放你的dApp全部的力量。

  免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与Web3Caff立场无关。文章内的信息仅供参考,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。

免责声明:本文不构成任何投资建议,文章内容请读者谨慎对待!