执行层(EL)和共识层(CL)节点客户端

  • Alchemy
  • 发布于 2022-07-09 21:13
  • 阅读 7

本文介绍了以太坊的执行层(EL)和共识层(CL)以及它们各自的客户端。执行层客户端包括Geth、Erigon、Besu和Nethermind,共识层客户端包括Lighthouse、Prysm、Nimbus、Teku和Lodestar。文章还提供了在MacOS上设置这些客户端的基本步骤。

Alchemy 编写

Brady Werkheiser 头像

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%)。

执行层客户端 在执行层上运行,以维护和管理区块链的整体状态,同时还使用虚拟机完成交易。

1. Geth (Go Ethereum)

使用 Geth,开发人员可以使用命令行和 Go 编程语言通过 以太坊节点 与以太坊区块链进行交互。 开发人员可以使用 Geth 来执行以太坊交易或挖掘以太坊的原生加密货币 ETH。

如何在 MacOS 上设置 Geth客户端 (Homebrew)

brew tap ethereum/ethereum
brew install ethereum
brew install ethereum --devel

2. Erigon

Erigon 是一个用 Go 编程语言编写的以太坊执行层客户端。 Erigon 提供了以太坊的优化实现,强调速度,主要用于 运行归档节点,这些节点管理大量状态数据。

如何在 MacOS 上设置 Erigon 客户端

git clone --recurse-submodules -j8 https://github.com/ledgerwatch/erigon.git
cd erigon
make erigon
./build/bin/erigon

虽然 Erigon 是归档节点的一个流行的客户端实现,但像 Silkworm (C++) 和 Akula (Rust) 这样的客户端已经证明了运行归档节点具有相当甚至更好的性能。

3. Besu

Besu 是一个由 Hyperledger 构建的使用 Java 编程语言的以太坊执行层客户端,采用 Apache 2.0 许可证,允许工程师运行以太坊节点。

开发人员可以使用命令行和 JSON-RPC API 与 Besu 进行交互,该 API 可以通过 RPC、HTTP 或 WebSockets 访问。 Besu 用于 ETH 挖矿和工程智能合约或去中心化应用程序。

如何在 MacOS 上设置 Besu 客户端

brew tap hyperledger/besu
brew install hyperledger/besu/besu

4. Nethermind

Nethermind 是一个基于 .NET core 构建的以太坊执行层客户端,允许工程师在以太坊节点上进行开发。

如何在 MacOS 上设置 Nethermind 客户端

brew tap nethermindeth/nethermind
brew install nethermind

什么是共识层?

共识层是以太坊区块链的新的后端基础设施,用于托管和验证验证者的有效性。

在 PoS 模型中,验证以质押的形式进行,验证者质押 ETH 作为抵押品,如果发生不当行为,网络可以没收 (罚没)。

什么是以太坊共识层客户端?

存在多个共识层客户端,包括 Lighthouse、Prysm、Nimbus、Teku 和 Lodestar。

1. Lighthouse

Lighthouse 是一个由 Sigma Prime 开发并用 Rust 编程语言编写的共识层客户端。 在以太坊合并到 PoS 的过程中,Lighthouse 的实现强调安全性和性能速度。

如何在 MacOS 上设置 Lighthouse 客户端

brew install lighthouse

2. Prysm

Prysm 是一个由 Prysmatic Labs 用 Go 编程语言开发的共识层客户端。 Prysm 的实现全面地结合了以太坊的 PoS 和质押协议,同时非常注重安全性和可靠性。

如何在 MacOS 上设置 Prysm 客户端

mkdir prysm && cd prysm
curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh && chmod +x prysm.sh

3. Nimbus

Nimbus 是一个使用 Rust 编程语言开发的共识层客户端。 Nimbus 的共识层客户端实现专注于开发一个轻量级客户端,该客户端能够在各种硬件设备上托管。

如何在 MacOS 上设置 Nimbus 客户端

git clone https://github.com/status-im/nimbus-eth1
cd nimbus-eth1
make update
make nimbus
./build/nimbus

4. Teku

Teku 是一个由 Besu 团队使用 Java 编程语言开发的共识层客户端。 Teku 的实现面向机构投资者,而不是普通大众。

如何在 MacOS 上设置 Teku 客户端

brew tap ConsenSys/teku
brew install ConsenSys/teku/teku

5. Lodestar

Lodestar 是一个由 ChainSafe Systems 使用 Typescript 编程语言开发的共识层客户端。 Lodestar 的开发目标是成为一个可部署且轻量级的客户端,同时吸引 Typescript 和 Javascript 开发人员。

如何在 MacOS 上设置 Lodestar 客户端

npm install -g @chainsafe/lodestar-cli

结论

执行层和共识层的分离是 2022 年期待已久的以太坊合并升级的一部分。

Supercharged | Alchemy | Substack

获取免费的以太坊 RPC 和开发者工具 获取你的 API 密钥

📚 目录


  • 什么是当前最流行的执行层客户端?
  • 什么是共识层?
  • 什么是以太坊共识层客户端?
  • 结论

分享:

Overview cards background graphic

相关概述

Featured content card overlay\ \ Ethereum\ \ 以太坊分片:区块链分片简介\ \ 什么是区块链分片?它与以太坊有什么关系? Featured content card overlay\ \ Ethereum\ \ 什么是强化交易?\ \ 探索一种新型交易,保证交易被挖掘并针对 Gas 进行了优化 Featured content card overlay\ \ Ethereum\ \ 什么是以太坊承诺级别?\ \ 了解安全(已证明)、最终确定和最新承诺级别

Desktop section background image

构建区块链魔法

Alchemy 将最强大的 web3 开发者产品和工具与资源、社区和传奇支持相结合。

获取你的 API 密钥

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

0 条评论

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