首先,我们需要有这样的一个基本概念:要处理来自执行层的传入验证器存款,您需要运行执行客户端以及共识客户端。这意味着我们至少需要部署两个客户端程序(在本教程中,为三个,共识客户端按照功能进行了拆分)。
如果想了解更多执行客户端和共识客户端的差异及功能职责,可以点击阅读:https://ethereum.org/zh/developers/docs/networking-layer/
以太坊生态的客户端种类非常丰富,执行客户端和共识客户端都有多种不同语言的实现,如使用Go语言实现的Geth, 使用Rust语言实现的Reth等。你可以根据自己喜好,选择不同的客户端,整体流程是类似的,只是不同客户端实现涉及的命令不同。在这里,我们不能对所有的客户端都面面俱到的给出部署教程,教程内选择的是Reth作为执行客户端(纯属个人喜好,不做性能最优保证)。
另外,教程选用了从源码编译的方式进行部署,实际上基本每个客户端都提供了基于docker的部署方式,你可以自行选择。不过个人推荐使用源码编译的方式进行,它有利于在遇到问题且文档没有提供有效帮助时,可以通过查看源代码来寻找问题产生的原因并解决问题。
1)build-essential
sudo apt install build-essential
2)gcc, g++, make, cmake, clang
sudo apt install gcc g++ make cmake clang
3)Rust
curl --proto '=https' --tlsv1.2 -sSf <https://sh.rustup.rs> | sh
1)下载Reth源代码
git clone <https://github.com/paradigmxyz/reth>
cd reth
2)切换成v1.1.1
版本
git checkout v1.1.1
3)编译并安装Reth
可执行程序