前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >7大ETH2信标节点软件【2021】

7大ETH2信标节点软件【2021】

原创
作者头像
用户5687508
修改2021-01-27 10:26:09
1K0
修改2021-01-27 10:26:09
举报
文章被收录于专栏:用户5687508的专栏

ETH2是下一代的以太坊区块链,可以达到更高的交易容量。ETH1到ETH2的迁移是分阶段的,目前处于信标链阶段。本文编辑整理了七个主流的ETH2客户端实现,以帮助开发者了解并进行ETH2相关开发与部署。

用自己熟悉的语言学习 以太坊DApp开发Java | Php | Python | .Net / C# | Golang | Node.JS | Flutter / Dart

1、Prysm - Golang ETH2客户端

Prysm项目是采用Go语言实现的全功能的以太坊2.0网络客户端,由Prysmatic Labs开发。

在这里插入图片描述
在这里插入图片描述

安装Prysm最简单的方法就是运行Prysm仓库中的prysm.sh脚本,该脚本将自动识别当前操作系统并下载最新的Prysm程序:

代码语言:javascript
复制
mkdir prysm && cd prysm
curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh && chmod +x prysm.sh
12

使用prysm.sh即可运行ETH2的信标节点,你需要能够访问ETH1节点:

代码语言:javascript
复制
./prysm.sh beacon-chain --http-web3provider=<YOUR_ETH1_NODE_ENDPOINT>
1

运行结果如下:

在这里插入图片描述
在这里插入图片描述
  • 开发语言:GO
  • 官方网址:https://prylabs.net/
  • 源码:https://github.com/prysmaticlabs/prysm
  • 文档:https://docs.prylabs.network/docs/getting-started/

2、Lighthouse - Rust ETH2客户端

Lighthouse是开源的以太坊2.0客户端,可以连接到其他ETH2客户端以构成一个弹性、去中心化的POS区块链。Lighthouse采用Rust开发,由Sigma Prime维护。

在这里插入图片描述
在这里插入图片描述

安装Lighthouse最简单的方式是从这里下载预编译的程序,然后解压即可。

  • 开发语言:Rust
  • 官方网址:https://lighthouse-book.sigmaprime.io/
  • 源码:https://github.com/sigp/lighthouse
  • 文档:https://lighthouse-book.sigmaprime.io/

3、Teku - Java ETH2客户端

Teku是ETH2信标链的Java实现,由以太坊生态中的大佬CondenSys开发。

在这里插入图片描述
在这里插入图片描述

安装Teku最简单的方法是从这里下载预编译程序。官方推荐将客户端和Validator在单一进程内运行,例如:

代码语言:javascript
复制
teku --network=pyrmont --eth1-endpoint=http://localhost:8545 \
     --validator-keys=validator/keys/validator_888eef.json:validator/passwords/validator_888eef.txt \
     --rest-api-enabled=true --rest-api-docs-enabled=true \
     --metrics-enabled
1234
  • 开发语言:Java
  • 官方网址:https://pegasys.tech/teku
  • 源码:https://github.com/ConsenSys/teku
  • 文档:https://docs.teku.consensys.net/en/latest/

4、Cortex - C# ETH2客户端

Cortex是一个采用C#开发的ETH2客户端,基于.NET core 3.0运行环境,由Nethermind提供。

在这里插入图片描述
在这里插入图片描述

运行Cortext客户端最简单的方法是使用Docker。例如采用默认的配置:

代码语言:javascript
复制
dotnet run --project src/Cortex.BeaconNode.Host \
           --QuickStart:GenesisTime ([DateTimeOffset]::Now.ToUnixTimeSeconds()) \
           --QuickStart:ValidatorCount 3
123
  • 开发语言:.NET/C#
  • 官方网址:https://nethermind.io
  • 源码:https://github.com/NethermindEth/cortex
  • 文档:

5、Lodestar - TypeScript ETH2客户端

Lodestar是ETH2协议的TypeScript实现,由ChainSafe Systems开发。

在这里插入图片描述
在这里插入图片描述

安装Lodstar最简单的方法是使用npm或yarn,例如:

代码语言:javascript
复制
yarn global add @chainsafe/lodestar-cli
1

使用lodester命令启动信标节点:

代码语言:javascript
复制
./lodestar beacon --network $NETWORK_NAME
1

输出结果如下:

代码语言:javascript
复制
2020-12-15 15:45:21 [DB]               info: Connected to LevelDB database name=/home/yourNameHere/.local/share/lodestar/pyrmont/chain-db
2020-12-15 15:45:25 []                 info: Initializing beacon state from db slot=0, epoch=0, stateRoot=0x2bb257ca66d05a047a65fe43a5f457b674de445d917cca029efb09b3ba4758c4
2020-12-15 15:45:25 [DB]               info: Connected to LevelDB database name=/home/yourNameHere/.local/share/lodestar/pyrmont/chain-db
2020-12-15 15:45:29 [API]              warn: Server listening at http://127.0.0.1:9596
2020-12-15 15:45:29 [API]              info: Started rest api server address=http://127.0.0.1:9596
2020-12-15 15:45:29 [METRICS]          info: Starting metrics HTTP server port=8008
2020-12-15 15:45:30 [NETWORK]          info: PeerId 16Uiu2HAmTfyqcJ8Ym8oUXGtsSLoDZUeScGASkPBmSskUVrGWGWPW, Multiaddrs /ip4/127.0.0.1/tcp/9000,/ip4/192.168.1.70/tcp/9000,/ip4/172.18.0.1/tcp/9000
2020-12-15 15:45:30 [SYNC]             info: Waiting for peers...
2020-12-15 15:45:30 [SYNC]             warn: Current peerCount=0, required = 3
123456789

如果你要启动validator,可以使用如下命令:

代码语言:javascript
复制
./lodestar validator --network $NETWORK_NAME
1

可以看到如下输出结果:

代码语言:javascript
复制
2020-08-07 14:14:24  []                 info: Decrypted 2 validator keystores 
2020-08-07 14:14:24  [VALIDATOR 0X8BAC4815] info: Setting up validator client... 
2020-08-07 14:14:24  [VALIDATOR 0X8BAC4815] info: Setting up RPC connection... 
2020-08-07 14:14:24  []                 info: Checking genesis time and beacon node connection 
2020-08-07 14:14:24  [VALIDATOR 0X8E44237B] info: Setting up validator client... 
2020-08-07 14:14:24  [VALIDATOR 0X8E44237B] info: Setting up RPC connection... 
123456
  • 开发语言:TypeScript
  • 官方网址:https://chainsafe.io/
  • 源码:https://github.com/ChainSafe/lodestar
  • 文档:https://chainsafe.github.io/lodestar/

6、Nimbus - Nim ETH2客户端

Nimbus是一个由Status.im network资助的ETH项目,致力于为资源受限的设备提供最佳的以太坊体验。Numbus Eth2客户端是ETH2协议的Nim版本实现。

使用Nimbus启动一个仿真的本地ETH2信标链非常简单:

代码语言:javascript
复制
git clone https://github.com/status-im/nim-beacon-chain
cd nim-beacon-chain

make
make test
12345

运行仿真:

代码语言:javascript
复制
make eth2_network_simulation
1

结果如下:

在这里插入图片描述
在这里插入图片描述
  • 开发语言:Nim
  • 官方网址:https://nimbus.team/
  • 源码:https://github.com/status-im/nimbus-eth2
  • 文档:https://nimbus.team/docs/

7、Trinity - Python ETH2客户端

Trinity是Python实现的ETH2客户端:

在这里插入图片描述
在这里插入图片描述

安装Trinity很简单:

代码语言:javascript
复制
pip install -U trinity
1

Trinity安装后使用trinity命令即可启动节点。

  • 开发语言:Python
  • 官方网址:https://trinity.ethereum.org/
  • 源码:https://github.com/ethereum/trinity-eth2
  • 文档:https://trinity-client.readthedocs.io/en/latest/

原文链接:7个主流ETH2客户端 — 汇智网

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、Prysm - Golang ETH2客户端
  • 2、Lighthouse - Rust ETH2客户端
  • 3、Teku - Java ETH2客户端
  • 4、Cortex - C# ETH2客户端
  • 5、Lodestar - TypeScript ETH2客户端
  • 6、Nimbus - Nim ETH2客户端
  • 7、Trinity - Python ETH2客户端
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档