ETH2是下一代的以太坊区块链,可以达到更高的交易容量。ETH1到ETH2的迁移是分阶段的,目前处于信标链阶段。本文编辑整理了七个主流的ETH2客户端实现,以帮助开发者了解并进行ETH2相关开发与部署。
用自己熟悉的语言学习 以太坊DApp开发 : Java | Php | Python | .Net / C# | Golang | Node.JS | Flutter / Dart
Prysm项目是采用Go语言实现的全功能的以太坊2.0网络客户端,由Prysmatic Labs开发。
安装Prysm最简单的方法就是运行Prysm仓库中的prysm.sh脚本,该脚本将自动识别当前操作系统并下载最新的Prysm程序:
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节点:
./prysm.sh beacon-chain --http-web3provider=<YOUR_ETH1_NODE_ENDPOINT>
1
运行结果如下:
Lighthouse是开源的以太坊2.0客户端,可以连接到其他ETH2客户端以构成一个弹性、去中心化的POS区块链。Lighthouse采用Rust开发,由Sigma Prime维护。
安装Lighthouse最简单的方式是从这里下载预编译的程序,然后解压即可。
Teku是ETH2信标链的Java实现,由以太坊生态中的大佬CondenSys开发。
安装Teku最简单的方法是从这里下载预编译程序。官方推荐将客户端和Validator在单一进程内运行,例如:
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
Cortex是一个采用C#开发的ETH2客户端,基于.NET core 3.0运行环境,由Nethermind提供。
运行Cortext客户端最简单的方法是使用Docker。例如采用默认的配置:
dotnet run --project src/Cortex.BeaconNode.Host \
--QuickStart:GenesisTime ([DateTimeOffset]::Now.ToUnixTimeSeconds()) \
--QuickStart:ValidatorCount 3
123
Lodestar是ETH2协议的TypeScript实现,由ChainSafe Systems开发。
安装Lodstar最简单的方法是使用npm或yarn,例如:
yarn global add @chainsafe/lodestar-cli
1
使用lodester
命令启动信标节点:
./lodestar beacon --network $NETWORK_NAME
1
输出结果如下:
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,可以使用如下命令:
./lodestar validator --network $NETWORK_NAME
1
可以看到如下输出结果:
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
Nimbus是一个由Status.im network资助的ETH项目,致力于为资源受限的设备提供最佳的以太坊体验。Numbus Eth2客户端是ETH2协议的Nim版本实现。
使用Nimbus启动一个仿真的本地ETH2信标链非常简单:
git clone https://github.com/status-im/nim-beacon-chain
cd nim-beacon-chain
make
make test
12345
运行仿真:
make eth2_network_simulation
1
结果如下:
Trinity是Python实现的ETH2客户端:
安装Trinity很简单:
pip install -U trinity
1
Trinity安装后使用trinity
命令即可启动节点。
原文链接:7个主流ETH2客户端 — 汇智网
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。