什么是以太坊 2.0 测试网?如何参与?

一. 什么是以太坊 2.0 测试网?
所谓 “以太坊 2.0 测试网”,指的是在以太坊 2.0 正式启动以前,为测试技术标准(spec)的安全性、各客户端实现的可靠性以及客户端之间的互通性而推出的、可以公开参与的测试网络;在当前阶段,主要指 “Eth2.0 Phase0 测试网”,即为 Phase0 的启动而开设的测试网络。
在不同开发阶段,客户端团队往往会为了不同的测试目标而推出多个测试网络;这些测试网可能会因为各种原因而关停,因此,在测试网上使用的代币没有任何价值。
二. 都有哪些 Eth2.0 测试网可以参与?
以太坊基金会支持的多个客户端团队(包括 Prysm 客户端、Lighthouse 客户端、Nimbus 客户端)都曾为了不同的测试目标而推出过测试网络(https://github.com/eth2-clients/eth2-testnets)。不过,这些网络基本都因为完成了测试目标而关停了。
当前可公开参与的著名测试网路有 Tapoz 测试网和 Schlesi 测试网。
Tapoz 测试网(https://prylabs.net/)是由 Prysm Labs(Prysm 客户端团队)发起的测试网,仅能使用 Prysm 客户端参与。该测试网使用与即将上线的主网同样的参数配置(保证金要求、罚没系数、时段时长等参数都是完全一样的)。自 4 月 18 日启动以来,该测试网已经激活了 28759 位验证者。
Schlesi 测试网(https://github.com/goerli/schlesi/)则是首个多客户端测试网,现可以使用 Lighthouse 客户端、Prysm 客户端和 Teku 客户端来参与。该测试网于 4 月 27 日启动,现已激活了 243 个验证者。
如果说 Tapoz 是为测试 Prysm 客户端的功能和安全性而进行的大考,那么 Schlesi 就是测试各客户端能否相互协作的摸底考试。如果 Schlesi 能稳定运行,Eth2.0 Phase 0 的启动也就不远了。
三. 怎么参与上述测试网?
参与测试网络的过程简单来说就是运行客户端软件并加以一定的配置、使自己的电脑加入一个点对点网络的过程。
但是,要真正理解这个过程,就得先了解一些背景知识和概念:
· 如上所述,不同测试网的性质不同,能够用来参与的客户端软件也不相同:Tapoz 测试网仅支持使用 Prysm 客户端来参与;Schlesi 测试网则支持使用 Lighthouse 客户端、Prysm 客户端和 Teku 客户端。因此,选定自己想参加的客户端之后,必须先下载客户端软件并完成安装(后文将附下载地址和安装小提示);
· 上述两个测试网跟即将推出的 Eth2.0 Phase0 的模式相似:用户要先把一定数量的 ETH 存入特定的保证金合约中,完成验证者公钥注册,然后才能作为验证者参与出块。因此,如果您想成为测试网络的验证者(即测试网络的 PoS 矿工),您必须先获得 32 个 Goerli 测试网 ETH(因为上述两个测试网的保证金合约都部署在 Goerli 测试网上)(后文有测试币获取教程);如果您不想成为验证者,只想同步测试网形成的区块链,看个热闹,则只需安装客户端软件即可;
总结一下,参与 Eth2.0 测试网一般分两个部分,一个部分是在本地运行软件,一个部分是跟已有的测试网交互(包括获取测试币并发到保证金合约内)。
四. Eth2.0 的保证金合约都部署在哪?怎么获取测试币?
Tapoz 测试网和 Schlesi 测试网的保证金合约都部署在 Goerli 测试网(这是一个 Eth1 的测试网)上,因此,用户需要有 Goerli 上的 ETH 才能成为这两个测试网的验证者。
重点来了。我们可以用这几种办法获得测试币:
· 访问 https://prylabs.net/participate 这个网站并连接自己的 Metamask 钱包可一次性领到 32 个测试网 ETH。这个网站是 Prysm Labs 为便利大家参加 Tapoz 测试网而提供的引导性网站,也是目前为止能一次性领到最多 Goerli ETH 的方法。请珍惜使用 : )
· https://goerli-faucet.slock.it/ 这个网站是 Goerli 测试网运行者提供的水龙头,输入地址并执行一次人机身份验证可领到 0.05 Goerli ETH。是的,你没看错,是 0.05 个,如果你要用这种办法来拿到 32 个 Goerli ETH,你需要做 160 次人机身份认证 : )
· https://faucet.goerli.mudit.blog/ 这个网站是由社区提供的。可按时间段获得不同数量的测试币。9 天总共可获得 37.5 个 Goerli ETH(不过笔者并未亲手测试过,似乎需要社交媒体转发才能获得)
四. 有了测试币,我直接打到 Goerli 测试网上的保证金合约内就可以了吗?
在发送保证金到保证金合约时,务必根据文档提供的引导信息,在交易中附加相关内容,这样才能正常注册验证者,仅仅向保证金合约发送 Goerli ETH 是不行的!
· https://docs.prylabs.network/docs/prysm-usage/activating-a-validator/ 是使用 Prysm 客户端参与 Tapoz 测试网的详细教程,注意看其中生成验证者公私钥及发送交易到保证金合约的过程(至于安装则可看 https://kb.beaconcha.in/tutorial-eth2-multiclient )
· 安装 Lighthouse 客户端及配置并参与 Schlesi 测试网的教程:https://github.com/goerli/schlesi/blob/master/light/README.md
· 安装 Prysm 客户端及配置并参与 Schlesi 测试网的教程:https://github.com/goerli/schlesi/blob/master/prysm/README.md (在这两份 Schlesi 测试网的文档中,都推荐用户使用 Geth 客户端的控制台来发送交易到 Goerli 测试网上,因此你还需要先安装 Geth 并同步 Goerli 测试网)
五. 想做验证者,但我不知道我电脑的配置够不够?
Tapoz 测试网的简介(https://medium.com/prysmatic-labs/introducing-topaz-testnet-8e8a4e00a700)提供了使用 Prysm 客户端参与 Tapoz 测试网的硬件要求,可视作参考:
推荐:
操作系统:64 位 Linux、Mac OS X、Windows
处理器:英特尔酷睿 i7-4770、AMD FX-8310 乃至更高
内存:8GB
硬盘:固态硬盘 100GB 可用空间
互联网:宽带连接
最低要求:
操作系统:64 位 Linux、Mac OS X、Windows
处理器:英特尔酷睿 i5-760、AMD FX-8100 乃至更高
内存:4GB
硬盘:固态硬盘 20GB 可用空间
互联网:宽带连接
六. 安装客户端的其它提醒
各客户端的代码库及文档:
· Prysm 客户端(Go 语言开发)(https://github.com/prysmaticlabs/prysm);文档(https://docs.prylabs.network/)
· Lighthouse 客户端(Rust 语言开发)(https://github.com/sigp/lighthouse);文档(http://lighthouse-book.sigmaprime.io/)
还需提醒各位:
· 如果您也想参与测试网,成为验证者,但是自身没有软件开发背景,请尽可能让您的程序员朋友从旁协助。因为软件的安装过程大部分是用命令行来完成的,需要安装各种依赖以及调试各种细节 : )
· 请尽可能不要使用 Windows 系统来安装软件,使用 Mac OX 或者 Linux 系统来完成。Prysm 在 Windows 下安装需要您安装并部署 docker(现在已经有了安装脚本,不知道还需不需要用 docker);Lighthouse 甚至有可能只能在 Linux 中安装。无论是 docker 还是 Linux 虚拟机,实际上都表明,这些客户端软件还不能在原生的 Windows 环境下运行,必须另外部署运行环境。此外,如果要在 Windows 下安装,不论如何部署环境,绕不过去的一点是为这些环境解决网络问题 : )
· 参与测试网的过程可能会伴随着大大小小各种问题。不论出现什么情况,请记住:Keep Calm, and Trust Ethereum Community(保持冷静,相信社区)。