本文介绍了以太坊的执行层(EL)和共识层(CL)以及它们各自的客户端。执行层客户端包括Geth、Erigon、Besu和Nethermind,共识层客户端包括Lighthouse、Prysm、Nimbus、Teku和Lodestar。文章还提供了在MacOS上设置这些客户端的基本步骤。
由 Alchemy 编写
由 Brady Werkheiser 审核
发布于2022年7月8日 3分钟阅读
以太坊近年来狂热的成功推动了它在区块链爱好者中的普及。 因此,以太坊经历了各种各样的可扩展性问题,通常表现为高 gas 费、缓慢的出块时间和网络拥塞。
通过将以太坊分成两个高度优化的层,即执行层 (EL) 和共识层 (CL),网络变得更具可扩展性。 每层都需要稍微不同的节点客户端基础设施。
在本文中,我们将重点介绍主要的以太坊节点客户端:
Geth (Go Ethereum)
Nethermind
Erigon
Hyperledger Besu
我们还将重点介绍主要的共识层节点客户端:
Prsym
Teku
Lighthouse
Nimbus
Lodestar
在当前的区块链生态系统中,流行的区块链执行层客户端是 Geth (80.1%)、Erigon (8.7% 的采用率)、Besu (3.0%) 和 Nethermind (2.6%)。
执行层客户端 在执行层上运行,以维护和管理区块链的整体状态,同时还使用虚拟机完成交易。
使用 Geth,开发人员可以使用命令行和 Go 编程语言通过 以太坊节点 与以太坊区块链进行交互。 开发人员可以使用 Geth 来执行以太坊交易或挖掘以太坊的原生加密货币 ETH。
brew tap ethereum/ethereum
brew install ethereum
brew install ethereum --devel
Erigon 是一个用 Go 编程语言编写的以太坊执行层客户端。 Erigon 提供了以太坊的优化实现,强调速度,主要用于 运行归档节点,这些节点管理大量状态数据。
git clone --recurse-submodules -j8 https://github.com/ledgerwatch/erigon.git
cd erigon
make erigon
./build/bin/erigon
虽然 Erigon 是归档节点的一个流行的客户端实现,但像 Silkworm (C++) 和 Akula (Rust) 这样的客户端已经证明了运行归档节点具有相当甚至更好的性能。
Besu 是一个由 Hyperledger 构建的使用 Java 编程语言的以太坊执行层客户端,采用 Apache 2.0 许可证,允许工程师运行以太坊节点。
开发人员可以使用命令行和 JSON-RPC API 与 Besu 进行交互,该 API 可以通过 RPC、HTTP 或 WebSockets 访问。 Besu 用于 ETH 挖矿和工程智能合约或去中心化应用程序。
brew tap hyperledger/besu
brew install hyperledger/besu/besu
Nethermind 是一个基于 .NET core 构建的以太坊执行层客户端,允许工程师在以太坊节点上进行开发。
brew tap nethermindeth/nethermind
brew install nethermind
共识层是以太坊区块链的新的后端基础设施,用于托管和验证验证者的有效性。
在 PoS 模型中,验证以质押的形式进行,验证者质押 ETH 作为抵押品,如果发生不当行为,网络可以没收 (罚没)。
存在多个共识层客户端,包括 Lighthouse、Prysm、Nimbus、Teku 和 Lodestar。
Lighthouse 是一个由 Sigma Prime 开发并用 Rust 编程语言编写的共识层客户端。 在以太坊合并到 PoS 的过程中,Lighthouse 的实现强调安全性和性能速度。
brew install lighthouse
Prysm 是一个由 Prysmatic Labs 用 Go 编程语言开发的共识层客户端。 Prysm 的实现全面地结合了以太坊的 PoS 和质押协议,同时非常注重安全性和可靠性。
mkdir prysm && cd prysm
curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh && chmod +x prysm.sh
Nimbus 是一个使用 Rust 编程语言开发的共识层客户端。 Nimbus 的共识层客户端实现专注于开发一个轻量级客户端,该客户端能够在各种硬件设备上托管。
git clone https://github.com/status-im/nimbus-eth1
cd nimbus-eth1
make update
make nimbus
./build/nimbus
Teku 是一个由 Besu 团队使用 Java 编程语言开发的共识层客户端。 Teku 的实现面向机构投资者,而不是普通大众。
brew tap ConsenSys/teku
brew install ConsenSys/teku/teku
Lodestar 是一个由 ChainSafe Systems 使用 Typescript 编程语言开发的共识层客户端。 Lodestar 的开发目标是成为一个可部署且轻量级的客户端,同时吸引 Typescript 和 Javascript 开发人员。
npm install -g @chainsafe/lodestar-cli
执行层和共识层的分离是 2022 年期待已久的以太坊合并升级的一部分。
Supercharged | Alchemy | Substack
获取免费的以太坊 RPC 和开发者工具 获取你的 API 密钥
📚 目录
分享:
\
\
Ethereum\
\
以太坊分片:区块链分片简介\
\
什么是区块链分片?它与以太坊有什么关系?
\
\
Ethereum\
\
什么是强化交易?\
\
探索一种新型交易,保证交易被挖掘并针对 Gas 进行了优化
\
\
Ethereum\
\
什么是以太坊承诺级别?\
\
了解安全(已证明)、最终确定和最新承诺级别
Alchemy 将最强大的 web3 开发者产品和工具与资源、社区和传奇支持相结合。
- 原文链接: alchemy.com/overviews/ex...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!