作者:RyanSeanAdams
译者:Jhonny
编辑:Mickey
Eth2马上要来了。
根据以太坊基金会官博消息(见下图),今日Eth2规范v1.0版本正式发布,包括发布阶段0信标链主网的存款合约(DepositContract)地址,Eth2信标链创世区块的诞生时间预计是2020年12月1日。当前Eth2存款合约已经部署,以太坊基金会公布的官方存款合约地址为:0x00000000219ab540356cbb839cbe05303d7705fa根据Eth2LaunchPad(launchpad.ethereum.org)显示,截至撰文时,已经有19,685ETH被质押进了该存款合约中!当存款合约中的ETH质押量达到524,288ETH(也即有16,384名验证者参与抵押,每名验证者抵押32ETH)时,则Eth2信标链主网(Eth2阶段0)将于12月1日正式启动,否则信标链创世区块诞生时间将顺延。
需要注意的是,如果ETH持有者想要成为Eth2的验证节点,必须要具有必要的硬件要求和技术专长,并通过官方的Eth2LaunchPad按照分步说明进行操作,切勿直接将ETH发送到该存款合约地址,直接将ETH发送到该合约地址将导致交易失败,而并不意味着在Eth2上参与质押。如何成为Eth2网络验证者呢?在质押ETH之前需要注意些什么呢?......我们将在本文涵盖以下内容:
Eth2验证者硬件要求;选择和安装Eth2客户端‘搭建Eth1节点;使用Eth2LaunchPad完成质押。01
硬件要求
基于Eth2去中心化的设计目标,预计Eth2验证者将使用各种不同的基础设施(本地部署,云端等等)。????如果你此前尚未参与Eth2测试网的ETH质押操作,可以使用Medalla测试网进行试验,以此来决定哪种设置能够给予你最佳的参与性能。在正式成为Eth2信标链验证者之前,请确保先在测试网上进行一些测试!可通过此链接参与成为Medalla测试网的验证者:
https://medalla.launchpad.ethereum.org/下面我们将给予一些成为Eth2验证者的硬件要求,帮助你提前做好准备!
推荐的硬件规格:
操作系统:64-bitLinux,MacOSX,Windows处理器:IntelCorei7-4770orAMDFX-8310(或更佳)内存:8GBRAM存储空间:100GB固态硬盘可用空间互联网连接:宽带网络连接(10Mbps)电源:不间断电源供应(UPS)或者选择云提供商,以DigitalOcean云提供商为例:
相应的DigitalOcean虚拟机实例:内存:8GBRAM存储空间:160GB固态硬盘可用空间正常运行时间:99.99%可用性:8个数据中心$/每小时:$0.060$/每月:$40最低硬件规格:
操作系统:64-bitLinux,MacOSX,Windows处理器:IntelCorei5-760orAMDFX-8110(或者更佳)内存:4GBRAM存储空间:20GB固态硬盘可用空间互联网连接:宽带网络连接n(10Mbps)电源:不间断电源供应(UPS)相应的DigitalOcean虚拟机实例:
内存:4GBRAM存储空间:80GB固态硬盘可用空间正常运行时间:99.99%可用性:8个数据中心$/小时:$0.030$/月:$2002
选择并安装Eth2客户端
Eth2有着多个客户端可以选择,验证者在运行验证者节点世可以选择不同的客户端实现。截至目前,已经有4个Eth2客户端团队开发的Eth2客户端可供选择,这些Eth2客户端分布式:Teku、Nimbus、Lighthouse和Prysm。
Eth2客户端
Prysm由PrysmaticLabs团队开发(Discord):
Prysm是基于Go的Eth2客户端实现,专注于客户端的可用性、安全性和可靠性。Prysm客户端使用Go语言编写,根据GPL-3.0许可进行发布。使用说明:https://docs.prylabs.network/docs/getting-started/Github:https://github.com/prysmaticlabs/prysm/Lighthouse由SigmaPrime团队开发(Discord):
Lighthouse是基于Rust的Eth2客户端实现,非常注重速度和安全性。Lighthouse客户端背后的团队SigmaPrime是一家信息安全和软件工程公司。Lighthouse根据Apache2.0许可进行发布。使用说明:https://lighthouse-book.sigmaprime.io/Github:https://github.com/sigp/lighthouseTeku由ConsenSys开发(Discord):
PegaSysTeku是基于Java的Eth2客户端实现,其设计和搭建旨在满足机构需求和安全要求。Teku获得了Apache2的许可,并用Java编写,Java是一种成熟且广泛使用的语言。使用说明:https://docs.teku.pegasys.tech/en/latest/HowTo/Get-Started/Build-From-Source/Github:https://github.com/PegaSysEng/tekuNimbus由Status开发(Discord):
Nimbus是一个Eth2研究项目和一个客户端实现,旨在在嵌入式系统和个人移动设备(包括搭载资源限制的硬件的较早的智能手机)上良好运行。Nimbus(Apache2许可)使用Nim语言编写,Nim是一种具有类似于Python语法的语言,可编译为C语言。使用说明:https://nimbus.team/docs/Github:https://github.com/status-im/nim-beacon-chain
03
安装Eth1节点
运行Eth2验证者节点除了需要安装一个Eth2客户端之外,还需要运行一个Eth1节点,此Eth1节点用于监视验证者的32ETH抵押存款。在搭建Eth1节点时,可以有多种选择,以下是最常用的启动Eth1节点的工具:
自托管的Eth1节点客户端:
OpenEthereum:https://www.parity.io/ethereum/Geth:https://geth.ethereum.org/Besu:https://besu.hyperledger.org/en/stable/Nethermind:https://www.nethermind.io/第三方托管的Eth1节点客户端:
Infura:https://infura.io/04
运行Eth2验证者节点
第一步:获取ETH
如果你不熟悉以太坊,那么一个重要步骤就是先获取成为Eth2验证节点所需的ETH。每个Eth2验证者节点都需要质押32ETH。请注意,如果你最终成功地成为了Eth2验证者,则意味着你对此参与计划做出了长期承诺(因为短期内这些质押的ETH无法取出)。如果你需要获取一些ETH,可通过加密货币交易所进行获取,比如:
法币交易所(美国地区):Coinbase或者Gemini法币交易所(非美国地区):Binance或者Kraken以太坊去中心化交易所:Uniswap
第二步:前往Eth2Launchpad平台进行ETH质押
在过去的几个月中,以太坊基金会(EF)、CodefiActivate和DeepWorkStudio一直在开发一个Eth2验证者节点快捷启动界面,以使用户更容易参与ETH质押并成为Eth2验证者。这项工作的结果就是Eth2LaunchPad平台的发布,该平台旨在安全地指导用户完成生成Eth2密钥对并将32ETH质押进Eth2官方的存款合约中。Eth2LaunchPad是为在家即可参与Eth2验证节点的人而设计的,也即打算运行自己的Eth2验证者节点的业余爱好者,并接受在自己的计算机终端屏幕上运行命令。
第二步:尽职调查
在成为Eth2验证者节点的过程中,花点时间阅读一下Eth2LaunchPad平台上的内容是非常重要的!该平台上的“Overview”(概述)部分旨在使你知晓在质押ETH时所涉及的风险和相关信息。包括:(1)Eth2使用PoS(权益证明机制)来保护整个网络。为此,网络需要活跃的参与者(也即验证者)来提议、验证和保证区块的有效性。作为交换,诚实的验证者将获得财务奖励。重要的是,验证者需要质押ETH作为抵押品,换句话说,需要质押一些资金。成为验证者的唯一方法是在当前的以太坊链(也即Eth1链)上往存款合约发送一笔单向的ETH交易。(2)要成为Eth2验证者,你需要对每个要运行的验证者节点都质押32ETH。注意,此抵押过程是单向不可逆的。(3)只有积极参与Eth2共识的验证者才能获得奖励。离线的验证者会受到惩罚。某节点离线受到的惩罚力度与该节点积极参与共识时可以获得的奖励相当。(4)进行恶意行为或者与Eth2规范背道而驰的验证者,很容易受到罚没惩罚(getslashed),这将招致巨额惩罚。(5)验证者密钥是从唯一的助记词(种子)派生的。你的种子是取款时的唯一途径。因此,最重要的是确保其安全!请备份好你的助记词!(6)Eth2LaunchPad将帮助用户创建每个验证者节点的签名密钥对(不同的验证者节点都有不同的签名密钥,即便某个用户同时运行了多个验证者节点,但同一个用户运行的多个验证者节点可以使用同一个取款密钥),这些签名密钥将会保存在keystore(密钥库文件)中(注意:每个验证者的签名密钥会保存在单独的keystore中),当你使用验证者软件开始验证之前,你需要将keystore导入到验证者软件中。通过Eth2LaunchPad创建验证者节点时,你还会收到一个存款文件(depositfile,文件后缀为.json),需要将该存款文件上传至Eth2LaunchPad网站上。(对此我们将在下文进行解释)(7)验证者之间的转账至少在Eth2阶段1之前是无法实现的。验证者必须等到阶段2(大约还要2年时间)才能将资金提取到某个特定的分片链上。(8)由于至少在阶段1到来之前,验证者无法进行转账,因此在此之前,验证者无法自愿退出验证者行列并重新启动节点。这意味着验证者将需要在很长的一段时间内参与Eth2共识之中,(9)当前用户参与进来的是初始发布的Eth2新型网络中,与任何新软件一样,存在潜在的bugs。虽然不太可能,但潜在的bugs可能会导致节点受到slashing(罚没)惩罚。(10)为了成为验证者,你将需要生成新的Eth2密钥对。为此,同时也为了安装验证者软件,你需要在技术上有能力在计算机终端上运行命令行。
第三步:生成密钥对和助记词
对于每个验证者节点,你都需要生成验证者密钥对和一个助记词,该助记词用于之后生成你的取款密钥。首先,你需要在Eth2LaunchPad上填写你想要运行的验证者节点数量,以及你想要在哪种操作系统上运行验证者节点。见下图????
接下来,Eth2LaunchPad平台将为你提供两个选项用于生成你的存款密钥(depositkeys)。你可以通过下方链接找到针对你的操作系统的详细说明:https://github.com/ethereum/eth2.0-deposit-cli/blob/master/README.mdThefirstistousethebinaryexecutablefilethatyoucandownloadfromtheEth2Githubrepoandthenrunthe./depositcommandinyourterminalwindow.第一个选项是使用你从Eth2Githubrepo(https://github.com/ethereum/eth2.0-deposit-cli/releases/)下载的二进制可执行文件,然后在你的终端窗口中运行./deposit命令。见下图????请记得验证以下该网址,确保你使用的是正确的网址来下载!第二个选项是从Python源代码搭建deposit-CLI工具。你将需要按照说明进行操作,以确保你已安装所有必需的开发库和deposit-CLI工具。见下图????
当你安装了deposit-CLI工具并在你的终端窗口运行此工具时,你将被提示:
明确你想要运行的验证者节点的数量;你想要用于生成助记词的语言;明确你想要运行验证者节点的网络(主网)。请确保你设置的是--chainmainnet,否则存款将无效。现在,你将被要求设置你的密码(password),一旦密码确定,你的助记词将被生成。请确保你将助记词写下来,并将其离线存储在安全的地方!如果你已经成功地完成了该步骤,那你应该可以看到下方这个屏幕????如果你对deposit-cli有疑问,请访问其GitHubrepository:https://github.com/ethereum/eth2.0-deposit-cli
第四步:上传你的存款文件
你马上就要完成了!下一步是上传你在上一步生成的.json存款文件。该文件位于/eth2.0-deposit-cli/validator_keys目录中,文件被命名为deposit-data-.json。
第五步:连接你的钱包
接下来就是连接你的Web3钱包,并点击继续。请确保你在你的钱包设置中选择了主网环境。加下图????
第六步:确认交易信息&发起抵押存款
当你连接钱包并确认你的钱包地址后,你将进入一个总结性的页面,该页面将显示你需要向存款合约中发送的ETH总数量(根据此前你选择运行的验证者节点数量,每个验证者32ETH)。点击同意警戒检查(alertchecks),然后单击确认以导航到最后一步——进行实际存款。点击“InitiatetheTransaction”(发起交易),将你的ETH质押进官方的Eth2存款合约中。你将需要通过你的钱包确认每个验证者的32ETH质押款。当这笔交易确认之后,你就完成了Eth2质押操作了!????祝贺!!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。