ETH 2.0多客户端测试网 Schlesi 现已上线
4月27日,以太坊开发者 Afri Schoedon (@a4fri[1]) 通过推文宣布了 Eth2.0 多客户端测试网 Schlesi 已经上线啦!这是继最近 Eth2.0 客户端团队 Prysmatic Labs 发布首个具有 Eth2.0 阶段0主网配置的单客户端测试网 Topaz [2]之后,以太坊社区首次迎来的一个多客户端测试网!
据 Schlesi 的 GitHub 文档[3]显示, 当前 Schlesi 多客户端测试网已经支持了 Lighthouse 和 Prysm 这两个 Eth2.0 客户端 ,其他 Eth2.0 客户端 (Cortex、Lodestar、Nimbus、Teku、Trinity) 将逐步添加进来!据了解,Schlesi 测试网 支持 Eth2.0 v0.11.1 规范版本 。
关于 Schlesi 多客户端测试网,你需要知道的一些信息:
01. 我们为什么需要多客户端测试网?
Eth2.0 将交付的第一个阶段就是 信标链 。届时,我们将首次见证 多个全新的 Eth2.0 客户端通过一种全新的网络连接和达成共识的方式,在一条全新的区块链上协同运行 。在信标链主网可以启动之前, 我们需要通过测试网来尽可能地模拟主网的运行情况 。这要求我们搭建和运行稳定、长期和持久的测试网。测试网不仅需要由1个 Eth2.0 客户端支持,而是 由多个 Eth2.0 客户端支持 (理想情况下是由所有 Eth2.0 客户端支持) 。
Schlesi 测试网就是朝着这个方向迈进的诸多步骤之一。
当前 Schlesi 测试网的目标是 确保协议在主要的 Eth2.0 客户端实现之间的兼容性 。参与到 Schlesi 测试网中是 免费的 和 无需许可的 ,任何人都可以通过向这个部署在以太坊 Goerli 测试网上的抵押合约地址: 0xA15554BF93a052669B511ae29EA21f3581677ac5 中发送抵押存款 (发送的是Goerli测试网代币) ,从而成为 Schlesi 测试网的验证者并参与验证工作。
02. Schlesi 与之前的互操作性“禁闭”会议有何不同?
2019年进行的 ETH2.0 互操作性“禁闭”聚会[4]是一场由7个 Eth2.0 客户端团队为实现互操作性而召开的一次实地会议。该次会议是迈向多客户端测试网的重要第一步,尽管该次“禁闭”会议的重心是客户端的网络连接 (networking) ,互操作性的其他方面仅作为次要角色。而对于 Schlesi 测试网而言, 客户端互操作性的 所有方面 都是非常重要的 ,因为它们对于即将带来的 Eth2.0 主网都很重要。
03. Schlesi 测试网与 Multinet 有何区别?
ETH2.0 Multinet[5] 是一组通过各种参数 (比如运行网络的验证者数量) 模拟多客户端测试网的 启动脚本 (startup scripts) ,该 multinet 是基于最小的 Eth2.0 规范。但是,Schlesi 并不是一次模拟。 Schlesi 是一个真正的持久性终端用户测试网 ,基于稍微修改过的主网配置。 任何人应该都可以在上面增加验证者和信标链节点 。
04. 为何 Schlesi 要使用主网的配置?
Schlesi 测试网的最终目标是证明这些 Eth2.0 客户端已经准备好了支持即将到来的信标链主网 。因此,Schlesi 测试网需要尽可能地靠近主网配置。
05. 为何没有 docker 文件或启动脚本?
Schlesi 测试网的重心不再是开发人员,而是最终的有用户! 信标链的每个用户 (即验证者) 都应该能够手动地完成任何任务,即设置验证者或同步信标链节点。未来,脚本将很容易地简化这一过程;但是现在,我们需要确保节点、客户端和其他工具已经准备好,能够完成信标链主网要求的所有任务。另外,没有脚本来为你完成这些工作,能够确保所有的节点实现和相应的工具在不同的客户端都得有着良好的文档记录。
06. 为何为之取名 Schlesi?
Schlesi (Schlesisches Tor) 是柏林的一个地铁站,与 Goerli (柏林的 格尔利茨公园 ) 和 Full Node ( 德国柏林的共用工作空间 ) 邻近。
07. 什么是 Goerli 测试网?
Goerli 是一个跨客户端权威证明 Eth1.x 测试网[6]。它受到了所有 Eth1.0 客户端、工具和基础设施的支持,且在向 Eth2.0 的过渡中,我们通过将一个存款合约 (deposit contract) 部署到 Goerli 测试网上来进行测试。参考链接:
[1]https://twitter.com/a4fri
[2]https://prylabs.net/
[3]https://github.com/goerli/schlesi
[4]https://blog.ethereum.org/2019/09/19/eth2-interop-in-review/
[5]https://github.com/eth2-clients/multinet
[6]https://github.com/goerli/testnet