如何运行一个Nethermind节点

  • QuickNode
  • 发布于 2024-12-01 22:26
  • 阅读 48

本文详细介绍了如何运行Nethermind以太坊节点,包括硬件要求、防火墙配置、同步模式选择以及在不同操作系统上的安装步骤。

重要通知

本指南的部分内容可能涉及较旧的技术。我们的目标是确保你能够获取最新且相关的信息。如果你希望看到本指南的更新版本,请告诉我们

概述

为了顺利运行以太坊节点,选择一个好的节点客户端至关重要。Nethermind 是最古老且最受信任的以太坊节点客户端之一。在本指南中,我们将了解如何启动 Nethermind 节点。

什么是 Nethermind?

Nethermind 是一个开源的 .NET core 实现的全功能以太坊节点。Nethermind 被称为最快的以太坊客户端;与其他客户端相比,它的同步时间相对较短。它具有监控、稳定性、可靠性和安全性等功能。

Nethermind 支持许多网络,包括以太坊主网,例如:

硬件要求

通常,IO 速度越快,节点同步速度越快。如果你在云上托管节点,建议选择 DigitalOcean

如果你计划在本地运行节点,建议使用高性能的 SSD。HDD 会使节点同步时间大大增加,甚至在同步后可能无法跟上网络。节点启动后,它会显示估计的最大所需空间,但始终建议预留比显示更多的空间,因为某些区块同步可能会超出这些值。

以下是推荐的硬件配置:

对于快速同步节点,建议使用 16GB 内存、8 核 CPU 和 300GB 磁盘空间。

注意:虽然 300GB 不会持续很长时间,因为快速同步模式默认没有启用 Pruning,磁盘使用量每天会增加几 GB。Nethermind 提供了启用 Pruning 的配置文件,如 mainnet_pruned.cfg、goerli_pruned.cfg 等,启用 Pruning 后,数据库将不断修剪,磁盘空间不会大幅增加。Nethermind 核心开发人员正在开发一种新的 Pruning 方法,因为当前的方法存在一些已知的 bug。

对于归档节点,建议使用 64GB 内存(最佳性能为 128GB)、64/128 核 CPU,由于以太坊链数据增长很多,当前主网归档数据库占用约 8TB 磁盘空间。因此,建议使用 12TB 磁盘空间,以确保节点至少可以运行一年。

防火墙配置

建议在节点上使用防火墙,以保护 JSON RPC 端口和私钥。在设置防火墙时,请采取以下预防措施。

  • 端口 8545(或 8000-9000)应对除受信任来源外的所有人关闭,因为这是 JSON RPC 端口,它提供了节点的管理员访问权限。

  • TCP 端口 30303(或 30300-30400)应保持开放,允许其他节点连接到你的节点。

  • UDP 端口 30303(或 30300-30400)应保持开放,以便其他节点可以发现你的节点。

运行 Nethermind 节点

在了解如何运行 Nethermind 节点之前,我们先来了解 Nethermind 提供的三种同步模式。

快速同步

快速同步是 Nethermind 默认且最受欢迎的同步模式;快速同步完成后,你将能够查询节点的基本调用,如 getBalance。快速同步将下载区块链的最新状态、区块头,以及可选的区块体和收据。

Beam 同步

Beam 同步与快速同步类似,但在 Beam 同步模式下,你可以在客户端启动后的几分钟内开始查询区块链。然而,在没有完全了解此模式的情况下,不建议使用。你可以在此了解更多关于 Beam 同步的信息

注意:虽然不推荐使用,因为许多开发人员并未取得很好的成功率。

归档同步

归档同步是最慢且负载消耗最大的同步,但此同步将从创世区块开始获取区块链的历史数据和状态。归档同步可能需要几周时间才能完成主网的同步,具体取决于 IO 的速度。

现在让我们看看基于操作系统的 Nethermind 安装过程。

Linux

你可以从 Nethermind 的下载页面GitHub 发布页面 下载包,或使用 wget 下载。

$ wget https://github.com/NethermindEth/nethermind/releases/download/1.10.72/nethermind-linux-amd64-1.10.72-e63bcb9-20210524.zip

然后下载依赖项。

$ sudo apt-get update && sudo apt-get install libsnappy-dev libc6-dev libc6 unzip -y

现在将包解压到新的 nethermind 文件夹中。

$ unzip nethermind-linux-amd64-1.10.72-e63bcb9-20210524.zip -d nethermind

注意:包的名称和 GitHub 链接可能会因包版本而有所不同。

现在进入 nethermind 文件夹。

$ cd nethermind

运行 ./Nethermind.Launcher 并从选项中选择以太坊节点。

$ ./Nethermind.Launcher

现在选择你希望节点运行的网络(在本例中为 Ropsten)。

选择同步类型(在本例中为归档同步)。

现在它会提示你是否希望支持 JSON RPC,如果需要,请输入 Y。

选择“是”后,你还可以设置自定义 JSON RPC IP。

现在它会询问是否注册 Ethstats,你可以跳过此步骤,或者如果你想注册,可以输入必要的信息。

现在节点将开始同步,它应该看起来像这样。

macOS

从 Nethermind 的下载页面GitHub 发布页面 下载 Darwin 包。

现在使用 Homebrew 安装 macOS 的依赖项。

$ brew install gmp snappy lz4 zstd

解压下载的包并运行 Nethermind.Launcher。然后,你可以按照与 Linux 相同的配置步骤进行操作。

Windows

对于 Windows,从 Nethermind 的下载页面GitHub 发布页面 下载 Windows 包。

解压包并运行 Nethermind.Launcher.exe;进一步的配置步骤与我们在 Linux 中看到的相同。

你可以在此了解更多关于支持的 JSON RPC 模块的信息

现在,让我们看看如何使用自定义配置运行节点。为此,使用 ./Nethermind.Runner 运行 Linux/macOS 节点,使用 Nethermind.Runner 运行 Windows 节点。

  • 获取所有配置选项的列表
$ ./Nethermind.Runner --help
  • 将节点处理的所有数据存储在自定义目录中。
$ ./Nethermind.Runner --datadir <路径>
  • 配置 Nethermind 数据库文件夹的路径。
$ ./Nethermind.Runner --baseDbPath <路径>
  • 更改日志级别,可用选项:DEBUG、TRACE、INFO、WARN、ERROR。
$ ./Nethermind.Runner --log <选项>
  • 更改配置文件的源目录。
$ ./Nethermind.Runner --configsDirectory <路径>
  • 确定要使用的配置文件。
$ ./Nethermind.Runner --config <文件名>

结论

在这里,我们了解了如何启动自己的 Nethermind 节点。你可以从他们的官方文档网站 了解更多信息。此外,还可以查看如何启动自己的 OpenEthereum (parity)Geth 节点。

订阅我们的新闻通讯,获取更多关于以太坊的文章和指南。如果你有任何反馈,请随时通过 Twitter 联系我们。你还可以在我们的 Discord 社区服务器上与我们聊天,那里有一些你会遇到的最酷的开发者 :)

  • 原文链接: quicknode.com/guides/inf...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。