主页 > imtoken官网地址电话 > 详细解释以太坊节点是如何工作的

详细解释以太坊节点是如何工作的

imtoken官网地址电话 2023-01-27 07:01:48

在消费级硬件上轻松设置和运行以太坊节点的能力是以太坊网络去中心化特性的一个关键卖点。 但是对于普通人来说,搭建一个节点并运行起来,到底有多实用呢? 在第三篇文章中,我们将介绍设置和运行以太坊节点所需的步骤。 请注意,此讨论仅限于技术方面,请读者遵守当地法律法规。

讲故事能否成为NFT市场冰点的救命稻草? 许多项目正在尝试中。

NFT的流动性一直饱受诟病,借贷可能只是解决表面问题的方法之一。 很多报道都看好这块业务,都推断三五年后是一个数量级。 他们认为这是一片充满机遇的蓝海。 .

RR丨编译

信息来自 Coinmetrics,由 Alex R. Mead 稍作修改

本文仅限于技术讨论,请读者自觉遵守所在地区的法律法规。

在消费级硬件上轻松设置和运行以太坊节点的能力是以太坊网络去中心化特性的一个关键卖点。 但对于普通人来说,搭建一个节点并在家里运行它真的有多实用呢? 随着合并的完成,这个问题在加密社区中多次出现。 在本周的文章中,我们将介绍在家中设置和运行以太坊节点所需的步骤。 我们将从基本的硬件和网络要求开始,然后介绍软件下载/编译/安装,最后介绍节点的操作步骤和维护。 在整篇文章中,我们将提供来自 Coin Metrics 团队自 2022 年 6 月以来持续运行的 Geth/Lighthouse 节点的见解。

硬件和网络要求 计算机

以太坊节点是什么意思_以太坊节点赚钱吗_以太坊经典和以太坊

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

每个节点客户端都指定了 RAM 要求(见下文),但任何具有 16g RAM 的现代计算机通常都可以正常工作。 我们建议您在专用计算机上运行以太坊节点,这意味着计算机的唯一工作就是运行以太坊节点。 无需流式传输 Netflix、编辑视频或其他前台/后台进程,只需运行您的节点。

RAM之后,你需要确保你的计算机有足够的磁盘空间来存储当前的以太坊区块链(记住,合并之后,它现在有两部分:执行层和共识层信标链),并且还必须有区块链继续增长的合理空间。 目前,一个好的经验法则是使用 2TB 固态驱动器 (SSD)。 SSD 是必不可少的,因为它可以支持足够快的读取和写入,因此节点可以在本地同步现有链并随着链的增长永久维护它。

对于我们的节点,我们正在运行具有 16 MB RAM 和 Intel Core i7 处理器的 Dell OptiPlex 5080。 这台机器是通过他们的网页直接从戴尔“现成”购买的。 此外,为了补充内置磁盘空间,我们通过 USB-C Type 3 连接器连接了 2TB Samsung Portable SSD T7。

以太坊节点赚钱吗_以太坊经典和以太坊_以太坊节点是什么意思

网络连接

要与 Ethereum 网络同步,您需要至少 25MBit/sec 的下载速度,这是大多数住宅互联网套餐所满足的。 对于我们的节点,我们使用美国中西部可用的标准 Comcast 计划,声称下载速度为 250 MBit/秒以太坊节点是什么意思,总数据下载速度为每月 1.2 TB。 此类服务包或类似服务通常提供给位于发达经济体的大都市地区的用户。

以太坊经典和以太坊_以太坊节点赚钱吗_以太坊节点是什么意思

软件

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

对这些不同软件的分析超出了本文的范围。 我们决定分别为我们的执行层和共识层运行可靠的 Geth 和备受推崇的 Lighthouse。

操作系统 (OS)

在深入研究运行以太坊协议的软件之前,先简单介绍一下操作系统的选择。 我们决定运行 Ubuntu 22.04 LTS,裸机。 裸机意味着操作系统直接运行在处理器的芯片上。 没有虚拟机,没有 Docker 容器,只有你电脑上的一个“老式”操作系统。 在裸机上运行提供了硬件资源的最佳利用,而没有虚拟化的“开销”。 Ubuntu 22.04 LTS 可以免费下载,我们选择它的部分原因是 Linux 社区的加密货币和独立性。

要在戴尔计算机上安装 Ubuntu 操作系统,我们必须对运行 Windows 10 的现有硬盘进行分区。这个过程的详细说明在 Ubuntu 的网页上列出,并且需要 U 盘才能在新分区上加载新操作系统. 安装操作系统可能很棘手,这可能是非技术节点操作员必须克服的第一个真正的“瓶颈”。 应该注意的是,同一系统可在 Windows 10 上运行,因此这并不是真正必要的步骤。 此外,互联网上有很多资源可以解决这个问题,因此我们认为具有良好计算机技能的积极用户完成此任务是很正常的。

执行层:Geth

以太坊节点是什么意思_以太坊节点赚钱吗_以太坊经典和以太坊

根据 clientdiversity.org 的数据,Geth 是目前使用最多的以太坊节点,约占所有以太坊客户端的 80%。 虽然这对网络来说并不理想,但这是我们的节点正在运行的客户端。 对于我们的客户端可执行文件(例如,当您启动节点时我们的操作系统实际运行的是什么),我们采用“无信任、验证”的方法来确定软件的构成。 所以我们使用 Git 从官方的 Go Ethereum 存储库下载了源代码。 在整个本机代码库中,我们使用 GNU Make 构建 Geth 客户端,此外还有来自 Go Ethereum 的其他几个支持软件。 Go Ethereum 网页上详细描述了每个步骤。

下载源代码、编译它并将其安装到您的机器上是真正的软件工程师的工作。 对于普通计算机用户来说,这可能是一项艰巨的任务。 因此,如果从源代码编译太困难,Geth 还提供了预构建的二进制文件,您可以从他们的网页上下载。 但是请注意,虽然这些二进制文件非常可靠,但您真正信任的是它们的组成。 通过使用源代码,每一行代码都可以单独分析,因此无需信任。

共识层:Lighthouse

本着与 Geth 相同的精神,我们从 Lighthouse 官方存储库下载了 Lighthouse,并从源代码编译了它。 与 Geth 类似,如果您没有软件经验,编译 Lighthouse 可能会很棘手。 因此,Lighthouse 也可以使用预构建的二进制文件。

运行节点

当实际运行一个节点时,请记住操作员必须在同一台机器上运行两个程序(执行客户端和共识客户端)——在我们的例子中是 Geth 和 Lighthouse。 另外,每个客户端都需要向磁盘写入大量数据,这就引出了我们的第一步,将SSD挂载到文件系统中。

安装固态硬盘

以太坊经典和以太坊_以太坊节点是什么意思_以太坊节点赚钱吗

与编译源代码类似,找到一个物理 SSD 驱动器并“安装它”对于普通计算机用户来说并不容易。 它需要使用终端程序并能够浏览计算机的文件夹结构。 对于我们的节点,我们选择将 SSD 挂载到主目录 ~/ethereum 文件夹。 在这个文件夹中(记住,它实际上在 SSD 上!)我们创建了另外两个文件夹 ~/ethereum/execution_layer 和 ~/ethereum/consensus_layer。 这些文件夹(或程序员称之为目录)将保存节点所需的所有文件,包括区块链本身。

运行节点软件

有了节点将运行安装程序的文件位置以太坊节点是什么意思,我们现在可以运行节点软件本身。 我们首先按照 Go Ethereum 网页上的步骤进行操作,其中包括使用 clef 设置用户帐户,然后使用一些参数启动 geth 本身,最重要的是将 --datadir 设置为我们 SSD 上的 ~/ethereum/execution_layer 文件夹(即目录). 主网的 chainid 是“1”(不带引号)。 此外,geth 必须连接到共识层客户端(在我们的例子中是 Lighthouse),因此必须配置一些额外的参数,Go Ethereum 在其网页部分“连接到共识客户端”中对此进行了解释。

此命令将启动主网区块链的同步过程,截至目前,该区块链的资源已超过 600GB(2022 年 10 月)。 当我们在 2022 年 6 月开始初始节点同步时,该过程大约需要 5 天。

共识层客户端 Lighthouse 的运行方式与上述 Geth 相同。 再次确保 datadir 正确指向 SSD,以确保您有足够的磁盘空间来存储所有需要的数据。 此外,Lighthouse 需要与 Geth 进行通信,因为它们都支持合并后的以太坊。 Lighthouse 文档的连接到执行引擎部分提供了有关此连接过程的具体说明。 对于我们的节点,同步信标链大约需要两天时间。 请注意,我们首先同步主网链(即 Geth),然后开始同步信标链(即 Lighthouse)。

挂载固态硬盘:

$ sudo mount /dev/sda ~/ethereum

以太坊经典和以太坊_以太坊节点是什么意思_以太坊节点赚钱吗

运行谱号:

$clef --keystore ~/ethereum/execution_layer/keystore

--configdir ~/ethereum/execution_layer/clef

--chainid 1

运行geth:

$geth --datadir ~/ethereum/execution_layer

--signer=~/ethereum/execution_layer/clef/clef.ipc

--主网

--syncmode 快照