本文详细介绍了如何运行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 默认且最受欢迎的同步模式;快速同步完成后,你将能够查询节点的基本调用,如 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.Runner --baseDbPath <路径>
$ ./Nethermind.Runner --log <选项>
$ ./Nethermind.Runner --configsDirectory <路径>
$ ./Nethermind.Runner --config <文件名>
在这里,我们了解了如何启动自己的 Nethermind 节点。你可以从他们的官方文档网站 了解更多信息。此外,还可以查看如何启动自己的 OpenEthereum (parity) 和 Geth 节点。
订阅我们的新闻通讯,获取更多关于以太坊的文章和指南。如果你有任何反馈,请随时通过 Twitter 联系我们。你还可以在我们的 Discord 社区服务器上与我们聊天,那里有一些你会遇到的最酷的开发者 :)
- 原文链接: quicknode.com/guides/inf...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!