如何安装和运行 Geth 节点:完整指南

fffmCQ.jpg

如果你想驾驭以太坊生态系统,你应该知道节点、共识算法和质押限制等技术因素都很重要。虽然以太坊本身就是一个复杂的迷宫,但它需要专门的客户端与之交互。 Geth 就是这些客户之一。此外,与任何其他区块链一样,以太坊由节点保护 – 运行以太坊客户端以验证交易并保护网络的专用计算机。这就是 Geth 节点概念的出现——一个节点或运行 Geth 客户端的专用计算机。

以太坊客户端和节点协同工作以保持网络的活跃和正常运行。在这里,我们重点关注安装和运行 Geth 节点,解释该过程的细微差别。如果您遵循本指南,您应该能够使用 Geth 节点,使用它与以太坊区块链进行交互。

在本指南中:

  • 拆开 Geth:它是关于什么的?
    • Geth节点有什么要求?
    • 在尝试安装和运行 Geth 之前您应该了解什么?
      • 在不同平台上安装 Geth
        • 运行 Geth 节点
          • 使用 Geth 客户端成为验证者
          • Geth 提供的各种命令行实用程序
          • 如何使用Geth建立私有区块链?
          • 值得设置 Geth 节点吗?
          • 经常问的问题

          拆开 Geth:它是关于什么的?

          为了更好地理解 Geth 和 Geth 节点,让我们对以太坊进行分解。将以太坊想象成一台超级计算机。然而,为了使超级计算机正常工作,需要几台较小的计算机来增强其计算能力,向其传递信息,并以多种方式支持它。 Geth 节点就是这样一台较小的计算机。

          此外,以太坊网络包括共识层(CL)和执行层(EL)。共识层(CL)验证区块并管理共识算法,而执行层则用于智能合约执行和处理交易。在转换之前,这两个功能被捆绑为一个。

          GETH节点比例最高:Ethereum.Org GETH 节点百分比: Ethereum.Org

          Geth 属于执行客户端类别。在目前的情况下,存在 EL-CL 组合来处理以太坊协议的工作负载。

          执行层的多样性在过去 12 个月中也有所增加:

          盖斯是什么?

          Geth 表示 Go 以太坊。您可以将其视为将您的计算机连接到以太坊生态系统的软件应用程序。另一种看待它的方式是通信程序,允许您的 PC 讲以太坊的语言。使用 Geth 节点,您可以验证交易、部署和运行智能合约、创建区块以及与以太坊进行整体交互。

          Geth 节点仍然领先流行度排行榜:Ethernodes Geth 节点仍然领先流行度排行榜:Ethernodes

          Geth 软件应用程序是用 Go 编程语言编写的,由以太坊基金会维护。它也是一个命令行界面,使兼容的 PC 可以充当以太坊节点。虽然 Geth 早在以太坊转向 PoS 之前就已经存在,但大多数 Geth节点现在都已准备好合并,并根据 PoS 标准进行同步。

          Geth客户端和安全标准:

          为什么要安装并运行 Geth 节点?

          您可能出于多种原因想要安装并运行 Geth 节点。作为开发人员,拥有 Geth 节点可以让您创建甚至测试去中心化应用程序。

          Geth 节点和实用程序:Ethereum.org Geth 节点和实用程序:Ethereum.org

          希望成为验证者的质押者可以使用 Geth 节点质押ETH、赚取奖励并提出新区块。

          Geth节点有什么要求?

          安装和运行 Geth 节点是特定于硬件的过程。以下流程证明了与 Geth 节点相关的技术负载的合理性:

          1. 验证和进一步交易
          2. 运行以太坊虚拟机(EVM)
          3. 存储区块链
          4. 与网络同步

          所有这些都给三个特定的 PC 组件带来了压力:

          • 强大的 CPU,可以精确地同时运行多个任务,例如处理事务、运行 EVM 等。因此,多核CPU是必要的。
          • 相当大的 RAM 块用于处理与以太坊协议相关的大型区块链数据集。此外,额外的 RAM 有助于区块链数据缓存,以便更快地访问。任何超过 7GB 的大小都是运行 Geth 节点的良好阈值。
          • 大型SSD模块,随着以太坊生态系统的不断扩展。存储整个区块链或其部分需要大量空间。 SSD 是更好的选择,因为它可以帮助节点更快地访问数据。 Geth以太坊节点优先选择600GB以上的免费存储空间。

          你可知道?以太坊的数据结构或链上存储数据的方式被称为 Merkle Patricia 树。它结合了以拉尔夫·默克尔 (Ralph Merkle) 命名的默克尔树 (Merkle Trees) 和以“检索字母数字编码信息的实用算法”树命名的帕特里夏树 (Patricia Trees)。

          在尝试安装和运行 Geth 之前您应该了解什么?

          在我们深入研究 Geth 节点的安装和运行之前,我们需要了解一些关于以太坊网络的信息——包括主网和测试网。

          我们需要关注主网和测试网的原因是,Geth 客户端可用于连接到其中任何一个,具体取决于偏好。 Geth 节点可以与主网和测试网交互。如果您是开发人员,您可能希望将区块链节点连接到测试网,这样,在主网部署之前测试 DApp 会变得更加容易。

          但是,如果您计划运行基于以太坊的服务,例如钱包甚至交易所,则需要主网网络连接。这样,您的服务就可以处理真实的交易。请注意,测试网的交易历史记录比主网更小。

          主网和测试网进行了解释。

          以下是以太坊网络的快速概述,供您参考:

          主网

          它是以太坊的实时和生产就绪版本。它有助于ETH的生产,并且与之交互会吸引我们所说的汽油费。

          测试网

          为了简单地测试 DApp 和其他功能而无需支付实际的ETH,您可以考虑以下测试网。

          罗普斯滕

          更流行的测试网之一使用与以太坊不同的链 ID。该测试网因其稳定性以及与各种智能合约和 DApp 的兼容性而受到开发人员的喜爱。

          科万

          Kovan 是另一个流行的测试网,但它仅适用于 Parity 节点。请注意,与 Geth 一样,还有其他客户端,例如 Nethermind、OpenEthereum 或 Parity、Erigon 和 Hyperledger Besu。

          林克比

          该测试网使用权威证明 (PoA),让您可以访问免费的测试ETH来测试功能和资源。要使用 Rinkeby,您需要使用您的以太坊地址,通过将其链接到社交媒体来建立权威。值得注意的是,Rinkeby 仅适用于 Geth 客户端。

          格尔利

          这是另一个与所有以太坊客户端兼容的权威证明测试网。与 Rinkeby 和 Kovan 相比,它具有庞大的网络规模、广泛的节点和更大的传播范围。

          塞波利亚

          这个测试网在 2023 年脱颖而出。它使用权益证明作为共识算法,甚至拥有分配免费ETH的水龙头。

          该网络被称为合并测试网,是 Goerli 的一个分支,非常适合复制以太坊 2.0 的最终状态。

          你可知道?截至 2023 年,Ropsten、Rinkeby、Kiln 和 Kovan 是已弃用的测试网。

          以太节点合并就绪的ETH客户端:Ethernodes

          在不同平台上安装 Geth

          现在基础知识已经完成,让我们在您的计算机上安装 Geth。这是设置 Geth 节点的第一步。

          请注意,您必须首先在 PC 上安装 Geth 软件才能设置 Geth 节点。完成后,您必须进行相同的配置并连接到以太坊网络。

          此外,无论您计划在哪个平台上安装 Geth,都必须使用命令行界面 (CLI)。这确保了高端脚本编写和自动化能力。一旦您了解了 Geth 命令,命令行界面 (CLI) 就可以让您输入并运行与节点相关的关闭、维护和启动命令。

          现在让我们开始安装。

          苹果系统

          要在 MacOS 上安装 Geth,您首先需要安装 Homebrew——一个简化安装的包管理器。

          考虑到您已经安装了 Homebrew,您只需打开 Mac 终端并输入:

          酿造安装 geth

          此命令会尽快安装 Geth 套件。但是,如果您想访问整个以太坊网络,包括 Geth,请使用以下命令:

          以太坊酿造水龙头/以太坊

          酿造安装以太坊

          所有这些都让 Geth 进入您的 Mac 系统。

          乌班图(Linux)

          对于 Linux,您需要使用个人软件包存档或 PPA(软件存储库)来获取 Geth。

          这是相同的命令列表:

          sudo add-apt-repository -y ppa:ethereum/ethereum

          其次是:

          sudo apt-get 更新

          sudo apt-get 安装以太坊

          或者

          sudo apt-get install geth(如果您只寻找 Geth 套件而不是完整的以太坊套件)

          使用命令后,包列表也会更新。另外,值得注意的是,以太坊基金会也维护着 PPA。

          直接安装

          如果您想在没有像 Homebrew 或 PPA 这样的包管理器的情况下继续前进,因为您可能并不总是使用 Mac 或 Ubuntu,您可以直接安装 Geth。您可以前往“下载”页面获取适合您的操作系统的稳定版本。

          geth节点 Geth直接下载: Geth

          如果您想在 Windows 上安装 Geth,此方法也很有帮助。对于特定于 Windows 的安装,您仍然会获得 .exe 文件。但是,直接下载和安装也需要手动更新。

          Docker 内部

          如果您想在容器或更安全的环境中运行节点,可以使用 Docker 环境进行 Geth 安装。

          对于基于 Docker 的设置,您首先需要使用与 Geth 相关的下载页面安装 Docker。

          完成后,您应该在命令行提示符中运行以下命令:

          docker run -it ethereum/client-go

          如果这感觉像是一个通用命令,那么这里有一个更进化的命令,具有附加特征:

          docker run -d –name ethereum-node -v /Users/alice/ethereum:/root -p 8545:8545 -p 30303:30303 ethereum/client-go

          该命令使您的 docker 功能在后台运行,具有用于以太坊数据访问的明确定义的目录,并提到远程过程调用(RPC)和点对点网络连接的端口。

          注意:alice/ethereum 目录部分是随机的,并且可能在您的系统上有所不同。此外,还存在“docker run”的不同变体。

          从源头构建

          如果您更喜欢 Geth 源代码并计划构建自己的版本作为高级安装方法的一部分,我们会倾听您的声音。

          由于 GitHub 上提供了源代码,因此只要您知道“Go”(编程语言)的工作原理,就可以使用它。首先,您应该在系统上安装“Go”。到达那里后,您需要克隆 GitHub 存储库,然后使用以下命令构建 Geth:

          git 克隆 https://github.com/ethereum/go-ethereum.git

          cd go-以太坊

          制作 geth

          现在我们已经完成了安装,让我们运行 Geth 节点。

          根据操作系统划分的以太坊客户端:Ethernodes根据操作系统划分的以太坊客户端: Ethernodes

          运行 Geth 节点

          安装后,您必须准备运行 Geth 节点。现在,让我们考虑将 Geth 节点连接到测试网。

          开始盖斯

          要启动 Geth,请在命令行界面中键入“geth”。现在,让我们准备一个演示命令,包括以下几个方面:

          1. 使用与轻节点相同的方式(稍后我们将讨论节点)
          2. 启用HTTP-RPC服务器(开放远程过程调用允许Geth节点与其他应用程序连接,例如接待台)。

          geth –testnet –syncmode “light” –rpc (这里是命令供您参考)

          执行此命令后,您可以针对不同的进程使用 net 命令的不同变体。例如,net.PeerCount 命令可让您检查节点连接到的对等点的数量。该数字应大于零,因为您希望对等连接不断更新。

          但是,在添加 PeerCount 命令之前,您需要输入以下内容:

          盖斯附加

          这将打开 Javascript 控制台,或者简单地说,允许与 Geth 节点进行交互。

          节点的状态

          就 Geth 节点及其形式而言,您可以将其设置为:

          1. 轻节点:这些节点不保存区块链的副本。此外,它们还以更快的启动速度和较低的存储要求而闻名。
          2. 全节点:这些节点验证交易。如果您将 Geth 节点设置为全节点,则您的 PC 必须存储整个区块链数据。从安全考虑来看,这很有效。
          3. 存档节点:这些节点添加到网络的历史状态并存储完整节点所需的所有内容。这些节点用于查询和确保网络健康状况。

          节点同步过程是怎样的?

          一旦启动 Geth 节点,您应该使用“ETH.syncing”命令来检查节点当前的同步状态。如果节点完全同步,将显示“false”返回命令。如果同步正在进行,则会显示具有最高区块、当前区块和其他指标的内容。

          {

          当前区块:745600,

          最高区块:889705,

          已知状态:2878340,

          拉状态:2878340,

          起始区块:745398

          }

          当涉及节点同步的性质时,您可以在以下选项之间进行选择:

          • 完全同步:从创世区块开始下载整个链。
          • 快速同步:下载最近状态的快照,然后继续前进。这是默认模式。
          • 光同步:仅下载块头和按需数据
          • 快照同步:下载动态快照并节省大量存储空间。这是最新的同步过程。

          Geth节点与其他客户端同步以太坊客户端同步状态:Ethernodes

          随着时间的推移,与 Geth 相关的同步时间有所改善。

          “只需重置我的手机并重新安装所有内容。 *Skype* 的同步时间比 geth 或 parity 长得多。”

          V神 Buterin,以太坊联合创始人: Twitter

          连接Geth节点

          还记得我们使用 geth Attach 命令来允许与 Geth 节点交互吗?但是,这是针对现有实例的。如果您想启动 Geth 客户端然后连接到实例,geth console 是正确的使用命令。如果您希望节点与以太坊进一步交互,使用此命令会打开 Geth 的附加命令。

          其他连接方法包括在开始时激活 –rpc 函数来激活 HTTP-RPC 服务器。请注意, RPC是连接区块链的一种方式。还有IPC(进程间通信)接口,允许Geth节点以本地访问的形式与同一台机器进行交互。这种接口可以提高安全性。

          使用 Geth 客户端成为验证者

          Geth 客户端还允许您使用 32 ETH存款限额成为验证者。以下是执行此操作的步骤:

          1. 首先,获得 32 ETH。
          2. 设置 Geth 客户端,或者您可以使用一些以太坊 2.0 软件解决方案,例如 Prysm、Nimbus 等。
          3. 生成验证器密钥对并将其存储在 Geth 密钥库目录中。
          4. 创建存款合约,打开 geth 控制台,并将 32 ETH移至该合约。
          5. 一旦存款被确认,验证器状态将被激活。

          选择 ETH 节点的原因:中等选择ETH节点的原因:中等

          请注意,转动验证器的过程要复杂得多,这只是其简单表示。

          Geth 提供的各种命令行实用程序

          您的 Geth 节点可让您与以太坊协议进行交互。请注意,我们已经使用了一些,例如 Geth、geth.attach、geth.console 等。

          以下是一些相同的命令行实用程序:

          1. Clef:用于签署交易
          2. 以太坊虚拟机(EVM)(evm –code 60ff60ff –debug):用于执行 EVM 字节码
          3. Ethkey(ethkey随机生成):用于管理以太坊密钥

          这些只是一些基本命令。

          如何使用Geth建立私有区块链?

          到目前为止,您需要了解的有关安装和运行 Geth 节点的所有信息都应该很清楚了。但是你知道一旦 Geth 全部启动并运行,你就可以用它来建立一条私有区块链吗?具体方法如下:

          第 1 步:首先创建创世区块

          您需要设置链的第一个块。您需要一个 JSON 文件来定义创世区块。它可能是这样的:

          {

          “配置”:{

          “链ID”:2023,

          “宅基地块”:0,

          “eip155块”:0,

          “eip158块”:0

          },

          “难度”:“400”,

          “gasLimit”:“8000000”,

          “分配”:{}

          }

          chainID:唯一标识符

          homesteadBlock、eip155Block 和 eip158Block 是启用 EIP 的初始块

          第 2 步:使用创世区块初始化链

          要初始化,您需要使用 init 函数。并且需要新建一个目录来支持本地访问。您可以将此目录命名为 myprivatechain。

          以下是用于初始化新链的命令:

          mkdir myprivatechain

          geth –datadir ./myprivatechain init ./genesis.json

          请注意 geth 如何使用目录和 JSON 文件来初始化私有区块链。

          第三步:设置链

          初始化完成后,可以使用以下命令启动私链:

          geth –datadir ./myprivatechain –networkid 2023 控制台

          请注意,在设置创世区块时,networkID 应与 chainID 匹配。

          此过程使用 Geth 设置私有区块链。

          值得设置 Geth 节点吗?

          设置 Geth 以太坊节点当然值得付出努力,因为它可以让您尝试新的 DApp 和智能合约。另外,区块链节点可以让您保持对验证过程甚至钱包密钥的控制。使用 Geth 以太坊节点,您可以创建自己的个性化方式与以太坊协议交互。

          经常问的问题

          如何在 Linux 上安装 Geth?

          在 Linux 上设置 Geth 需要您将其作为 PPA 包含在存储库中。这里的 PPA 代表个人包存档。终端启动后,您需要添加一系列命令,包括激活安装过程、存储库、更新的命令,最后启动并运行以太坊存储库。完成后,您可以输入 Geth 来检查命令选项。

          如何使用 Geth 运行轻节点?

          启动 Geth 时,您可以运行轻模式,使用 geth –syncmode “light” 作为命令选择。值得注意的是,轻节点同步速度很快,因为它不处理整个区块链数据。除了轻节点之外,您还可以设置完整节点和存档节点。

          如何连接本地Geth节点?

          连接到本地 Geth 节点需要使用 IPC 或进程间通信接口。这样,您就可以将 Geth 节点从一个终端连接到另一个终端。您可以将 Attach 命令与 IPC 一起使用以确保无缝交互。

          Geth的默认端口是什么?

          Geth使用8545作为HTTP-RPC服务器的默认端口,方便与以太坊链的交互。还有另一个默认端口 30303,作为点对点网络通信协议。如果没有声明其他端口,Geth 初始化将选取这些默认端口进行交互。

          声明:该文观点仅代表作者本人,与炒币网无关。炒币网系信息发布平台,仅提供信息存储空间服务。对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,并不对文章观点负责。 提示:投资有风险,入市须谨慎。本资讯仅供参阅,不作为投资理财建议。

          发表评论

          登录后才能评论