火星链 火星链
Ctrl+D收藏火星链
首页 > 波场 > 正文

GETH:金色观察 | 实操:从硬件到软件 如何在家中运行一个以太坊节点

作者:

时间:1900/1/1 0:00:00

文/AlexR.Mead,CoinMetrics

在消费级硬件上轻松设置并运行以太坊节点的能力是以太坊网络去中心化特性的一个关键卖点。但是对于一般人来说,在家里设置并运行一个节点到底有多大实用性?随着合并的完成,这个问题在加密社区中被频繁提及。在CoinMetrics,我们向来都是直接探索节点,获得一手体验。

在本周“网络状态”系列文章中,我们将介绍在家里设置和运行以太坊节点所需的步骤。我们将从基本硬件和网络需求开始,接着介绍软件下载/编译/安装,最后介绍节点操作步骤和维护。在整个过程中,我们将提供从运行Geth/Lighthouse节点中获得的经验见解,CoinMetrics团队自2022年6月以来一直在持续运行该节点。

请注意,本文不构成CoinMetrics对任何特定硬件、互联网服务提供商或以太坊客户端的背书,也不构成任何工程或财务建议。所讨论的节点独立于CoinMetrics基础设施运行,与CoinMetrics并无关联,纯粹是出于实验和研究目的,与CoinMetrics服务没有任何交互。本文所提供的信息单纯是为了让我们讲得清楚,让你看得明白。所以,开始吧!

硬件和网络要求

计算机

要开始设置和运行你自己的以太坊节点,你需要一台计算机及互联网连接。计算机需要满足两个一般要求,足够的RAM和足够的硬盘空间。

每个节点客户端都有特定的RAM要求,但任何一台16GB?RAM的现代计算机基本都够用。节点也可以运行在8GB的RAM上;然而,如果你想使用该节点做点什么,而不只是口头上说说“我要运行一个以太坊节点”而已,那么你可能会希望你有一台16GB?RAM的计算机。建议在专用的计算机上运行以太坊节点,也就是说该计算机的唯一用途就是运行以太坊节点。没有流媒体Netflix,不编辑视频,也不处理其他前端/后端进程,只用于运行你的节点。

金色数藏《七夕限定》数字藏品,今日13:14正式开售:8月4日消息,七夕如约而至,金色数藏平台今日下午13:14开售《七夕限定·情系鹊桥》数字藏品,每款寓意人们对理想爱情的向往和追求。其中“牛郎”款限量发售3500份;“织女”款限量发售2500份;“鹊桥相会”款为典藏版,通过3款牛郎+2款织女兑换获得,共发行1200份。[2022/8/4 3:21:34]

然后,你需要确保你的计算机有足够的硬盘空间来存储当前的以太坊区块链,而且还要有合理的空间来维持链的增长。就目前而言,一个比较好的经验就是使用2TB的固态硬盘。固态硬盘是必不可少的,因为它支持足够快的读写行为,因此节点可以本地同步当前链,并在链持续增长时维护链。

至于我们的节点,我们运行的是装有16GBRAM的DellOptiPlex5080和英特尔酷睿i7处理器。这台设备是直接从戴尔的网站上购买的“现货”。此外,为了扩充内置硬盘空间,我们还使用USB-C?Type3连接器连接了一个2TB的三星T7便携式固态硬盘。

以太坊节点:DellOptiPlex5080,有线以太网连接,2TB固态硬盘

网络连接

要与以太坊网络同步,你需要至少每秒25MB的下载速度,这是大多数家用互联网都能满足的规格。对于我们的节点,我们使用美国中西部可用的标准的Comcast计划,据称下载速度为250MB/秒,总数据下载上限为每月1.2TB。这个服务包,或类似的服务,通常面向位于发达经济体大都市地区的用户。

金色相对论丨CyberMiles首席科学家:以太坊2.0是一个PoS的跨链生态:在今日举行的金色相对论中,针对“以太坊目前采用的无状态以太坊、多客户端、信标链staking、rollup等技术,给各位印象最深刻、认为最有应用价值的是哪一个?”的提问,CyberMiles首席科学家MichaelYuan发言指出:以太坊2.0是一个PoS的跨链生态。与其它PoS系统相比,它的重大创新在于它的信标链至少要支持上万个验证人节点。系统会随机选择组合验证人形成应用子链。

以太坊2.0一定要有足够的人去stake才能成功(标准是32个ETH,现在是早期参与的好机会)。因为验证人数量一定要很多,才能安全地随机选择验证人验证子链的数据。

尽管都是跨链的思路,但是采用大量节点与大量验证人的,目前只有以太坊一家,Polkadot与Cosmos都不是这种方法。所以以太坊用来管理验证人的技术是创新的,也应该不会用在其他链上。其他的链远远没有这个规模。但是随着开发进度的推进,比如EWASM虚拟机与Solidity智能合约这些技术能够被其他加密网络广泛应用。毕竟纵观整个区块链世界,应用开发的模式都是按照以太坊思路来的。[2020/6/18]

软件:有哪些代码?从哪里获得?

合并后,所有以太坊节点必须同时运行两个软件,一个共识层节点和一个执行层节点。Ethereum.org列出了以下执行层节点:Geth、Nethermind、Besu、Erigon和Akula。对于共识层节点,则列出了:Lighthouse、Lodestar、Nimbus、Prysm和Teku。

对这些不同软件的分析本文不做赘述。不用说,我们决定分别为我们的执行层和共识层运行一直可靠的Geth和受人尊敬的Lighthouse。

操作系统

金色晨讯 | 扎克伯格:将致力于与监管方合作 妥善解决关于Libra的问题:1.币安研究院:所有DeFi产品锁定大约5亿美元 MakerDAO占近六成。

2.佛罗里达联邦法官申请国际司法援助 要求审问澳本聪妻子及其商业伙伴。

3.日本加密货币商业协会希望对加密货币采用20%的申告分离课税及小额免税制度。

4.欧洲央行行长:G7国家对Facebook旗下加密货币Libra有很大的担忧。

5.John McAfee据称在多米尼加共和国被拘留后获释。

6.Morgan Creek创始人:多位大型机构的首席信息官已开始投资比特币。

7.巴西FIESP会长:新税制改革可能会迫使公民使用加密货币来逃税。

8.扎克伯格:将致力于与监管方合作 妥善解决关于Libra的问题。

9.克罗地亚邮政试验加密货币兑换法币的交易服务。[2019/7/26]

在深入研究运行以太坊协议的软件之前,先简单介绍一下操作系统的选择。我们决定运行Ubuntu22.04LTS,裸金属版。裸金属意味着操作系统直接运行在处理器的硅片上。没有虚拟机,没有Docker容器,只有计算机上的“老式”操作系统。在裸金属上运行可对硬件资源进行最佳利用,不需要虚拟化的“开销”。Ubuntu22.04LTS可免费下载,之所以选择它还有部分原因是因为加密技术和Linux社区都具有独立性,其中,Ubuntu是若干“Linux风格”系统之一。

要在戴尔电脑上安装Ubuntu操作系统,我们必须对运行Windows10的现有硬盘进行开箱分区。这个过程的详细说明可在Ubuntu的网页上找到,需要一个USB驱动器在新分区上加载新的操作系统。安装操作系统可能很棘手,可能是非技术节点操作者要克服的第一个真正的“瓶颈”。应该注意的是,可以在Windows10上运行相同的系统,因此这不是真正必要的步骤。此外,互联网上有很多资源可以解决这个问题,所以我们认为,一个有动力并有良好计算机技能的用户要完成这个任务仍然是合理的。

分析 | 金色盘面:ZEC小幅反弹,注意180美元阻力:金色盘面分析师表示:ZEC自日内低点向上反弹,24小时涨跌幅基本持平,注意上方180美元短线阻力,如果突破或将看涨至190美元附近,反之还会继续下探新低。[2018/8/5]

执行层:Geth

根据clientdiversity.org的数据显示,Geth是目前使用最多的以太坊节点,约占所有以太坊客户端的80%。虽然这对于网络来说并不理想,但这是我们的节点正在运行的客户端。至于我们的客户端可执行程序——以一种真正的“不轻信,去验证”的方式——我们想要确定软件的组成。因此,我们使用Git从官方的Go?Ethereum源码库下载了源代码。在代码库完全本地化的情况下,我们使用GNUMake构建Geth客户端,还使用了来自Go?Ethereum的其他几个支持软件,包括使用clef为节点创建和管理key-pair对。GoEthereum的网页对每一步操作都有详细说明。

下载源代码,并对其进行编译,再将它安装到你的设备上,这是真正的软件工程师类型的工作。很可能,这对普通计算机用户来说是一个难以达到的提升。因此,如果从源代码编译太过困难,Geth还提供了预构建的二进制文件,你可以从他们的网页下载。但是,请注意,虽然这些二进制文件非常值得信任,但实际上你信任的是它们的组成。使用源代码方法,可以单独分析每一行代码,因此不需要信任。

共识层:Lighthouse

本着与Geth相同的精神,对于节点,我们从官方Lighthouse库下载了Lighthouse,它是从源代码编译的。与Geth类似,如果没有软件经验,编译Lighthouse可能非常棘手。因此,预构建的二进制文件也可用于Lighthouse。

金色财经讯:前豆丁网CTO、比特币交易平台OKCoin创始人徐明星在完成对新三板挂牌企业华证联的收购,并于8月份正式出任董事长后,燃起了“第一把火”。10月24日,华证联发布挂牌之后的第一次股票发行方案,拟向非特定对象以2.30元-2.90元/股的价格发行不超过340万股,募资不超过986万元。[2017/10/27]

运行节点

在实际运行节点时,请记住操作者必须在同一台机器上运行两个程序——在我们的例子中分别是Geth和Lighthouse。此外,每个客户端都需要向硬盘写入大量数据,这就引出了我们的第一步,为文件系统安装固态硬盘。

安装固态硬盘

与编译源代码类似,定位物理固态硬盘驱动器然后进行“安装”对普通计算机用户来说并不容易。需要使用终端程序并具有在计算机的层层文件夹结构中畅通无阻的能力。对于我们的节点,我们选择将固态硬盘安装到主目录文件夹~/ethereum下。在这个文件夹中我们创建了另外两个文件夹,~/ethereum/execution_layer和~/Ethereum/consensus_layer。这些文件夹将保存节点所需的所有文件,包括区块链本身。

运行节点软件

有了节点运行的文件位置,我们现在可以运行节点软件了。我们首先遵循Go?Ethereum网页上的步骤,包括使用clef设置一个用户帐户(,然后使用几个参数启动geth,最重要的是将datadir设置为我们在固态硬盘上的~/ethereum/execution_layer文件夹。请注意,chainid为“1”表示主网。此外,现在geth必须连接到共识层客户端,必须配置一些额外的参数,Go?Ethereum在他们的网页中相应的“ConnectingtoConsensusClients”内容中对这些参数进行了解释。

该命令将启动主网区块链的同步进程,到目前为止,有超过600GB的资源。当我们在2022年6月启动最初的节点同步时,这个过程用了大约5天时间。

共识层客户端Lighthouse的运行方式与上述Geth相同。同样,请确保向固态硬盘正确指定datadir,以确保有足够的硬盘空间来存储所有所需的数据。此外,Lighthouse需要与Geth进行通信,因为他们都支持合并后的以太坊。关于连接到执行引擎,Lighthouse文档提供了关于此连接过程的具体说明。我们的节点同步信标链花费了大约两天时间。请注意,我们首先同步了主网链,然后启动了信标链同步。

以太坊节点:左屏为LighthouseSTDOUT,右屏为GethSTDOUT。

使用你的节点

当节点同步时,会下载大量数据。实际上是以太坊的整个区块链历史被复制到你的本地计算机上,包括信标链。这些信息完全下载结束后,你可以查询本地节点的任何信息,并且不要信任任何人来验证该以太坊系统。有了这样的设置,当涉及到以太坊网络和所有与之相关的DAapp时,你就可以真正做到“不轻信,去验证”了。

连接到你的节点很简单,可以为Geth或Lighthouse节点组件使用本地托管的RPC。这些API在执行层和共识层都有很好的文档记录。对于Python用户来说,使用开源的Web3.py模块是一个很好的选择,有很多博客文章和问题论坛的回答免费提供了许多示例,比如StackOverflow。如果你对API并不熟悉,你会经历一个学习曲线;然而,有了Python和这个生态系统可用的大量资源,有动力的用户当然也可以在网上找到资源来学习他们需要的一切知识技能。

节点表现

随着权益证明成为共识机制,以太坊的区块时间的可预测性大为提高。出块时间高度一致,为每12秒产生一个区块,其他通信在区块传播中为每6秒一次。运行一个专用节点,这在下面显示的CPU和网络活动监视器中都非常清楚。这正是我们所期望的,而且系统的“理论”与观测到的数据相匹配总是一个令人安心的迹象。回想一下我们自己的节点,是从源代码编译的,并使用所有基本构建块进行设置。

以太坊节点:标准操作的CPU负载百分比和网络数据速率。

为了进一步显示正在运行的节点,我们为共识层调用一个端点来返回所有验证节点的集合,这是在编写本文时超过400,000个验证节点的结果。该查询的运行时间为几分钟,如下所示,在请求处理期间,CPU的使用率明显增加,然后在请求得到回复后又回落到“正常”状态。

以太坊节点:信标节点响应API调用,然后恢复正常的节点操作负载。

持续节点运行

与所有软件系统一样,会不断开发新的版本。对于Geth和Lighthouse来说,也是如此——而且,你必须时不时地更新节点软件。对我们来说,这包括从Github库中提取最新版本,编译新的可执行文件,并使用最新的稳定版本重新启动Geth和Lighthouse。对于我们的简单节点,我们只需重新编译并重新启动。对于面向生产的节点来说,更适合部署一个开发、分阶段和完全监控的生产环境。如果你不亲自编译,可以下载最新的预编译二进制文件,并使用它们重新启动节点。此外,操作系统也有必须下载和安装的更新。这对于避免操作系统级别的安全问题尤其重要。

对于我们的节点来说,首先需要一个学习曲线来让节点连续运行。管理每个进程的RAM利用率是第一个障碍,因为在没有足够RAM的情况下,计算机会“随机”关闭。此外,最初节点使用的是WiFi,无线路由器由于数据过载而崩溃。解决了这些问题后,该节点已经连续运行了几个月没有停机了。

结论

使用消费级计算机硬件和家庭互联网连接,可以运行自己的本地以太坊节点。虽然运行从源代码本地编译的客户端对大多数用户来说可能很困难,但对于最常用的客户端来说,可以使用预编译的可执行程序。此外,安装一个固态硬盘来存储区块链并运行操作系统对大多数用户来说是一个挑战;但一个有动力、有耐心、愿意学习的用户是完全有能力做到这些的。

节点操作者的下一步是决定是否成为验证者。为此,节点必须在本地运行第三个客户端,并且必须质押32个ETH。这比节点设置要稍微复杂一些。此外,人们应该对离线惩罚以及搞砸质押的以太币私钥可能带来的风险有所了解。因此,用户应该在运行验证者节点之前了解自己在做什么。我们还没有自己运行验证者节点,但是鉴于我们运行自己节点的复杂性,你最好至少在运行自己节点的一个月后,再决定是否运行你自己的验证者节点。

标签:以太坊ETHGETHGET什么是以太坊币交易eth2.0币价会涨吗togetherbnb换装都有什么衣服Hedget Token

波场热门资讯
NFT:NFT百花齐放 一文盘点主要国家监管态度

2021年以来,NFT市场爆发势增长,即便在2022年熊市背景下,知名蓝筹NFT也频频大额融资,NFT的基础设施、形式等也在朝着多样化发展,受众也越来越广泛,多国监管机构也逐渐开始关注起来.

1900/1/1 0:00:00
SUI:Aptos和Sui:一场Move上的L1对决

摘要:从融资、技术和生态等方面详谈Aptos和Sui来源:DeFi之道作者:CodyGarrison01简介“L1战争”是2020-2021周期中广为人知的故事.

1900/1/1 0:00:00
ETA:在PICO和Meta的内容生态里 我们已能窥见元宇宙的未来

在上次的分享里,我们为大家总结了MetaQuestPro和PICO4Pro的硬件参数对比。从中可见,这两款设备的性能从各方面讲都难分伯仲,真正的胜负手应该还是落在了”软件生态“这个环节.

1900/1/1 0:00:00
LIBRA:被顶级机构押注的6大新公链 公链之争谁更硬核?

加密世界节奏飞快,今日龙头随时会被取代,唯一不变的就是变化,但同时在每个新周期也都会诞生新的风口.

1900/1/1 0:00:00
MAG:a16z 游戏投资人:游戏制作人获得资金的多种途径

撰文:JoshLu,a16z游戏投资人编译:深潮TechFlow在担任游戏VC的工作5周后,我遇到了一些真正令人印象深刻的创始人,他们的游戏创意让我非常想玩,而且值得资助.

1900/1/1 0:00:00
PLAY:Play-to-Own:Web3游戏的未来

Web3游戏的现状过去十年中,从面向主机和PC的付费游戏到免费增值的手机游戏,游戏体验和商业模式都随着技术进步而发生了变化.

1900/1/1 0:00:00