Eth2存款合约发布!如何质押你的 ETH 成为验证者呢?

2024-01-31 17:10

本文主要是介绍Eth2存款合约发布!如何质押你的 ETH 成为验证者呢?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:Ryan Sean Adams

译者:Jhonny

编辑:Mickey

Eth2 马上要来了。

根据以太坊基金会官博消息 (见下图),今日 Eth2 规范 v1.0 版本正式发布,包括发布阶段0信标链主网的存款合约 (Deposit Contract) 地址,Eth2 信标链创世区块的诞生时间预计是 2020 年12月1日。

         

当前 Eth2 存款合约已经部署,以太坊基金会公布的官方存款合约地址为:

 

0x00000000219ab540356cbb839cbe05303d7705fa

 

根据Eth2 Launch Pad (launchpad.ethereum.org)显示,截至撰文时,已经有 19,685 ETH 被质押进了该存款合约中 !当存款合约中的 ETH 质押量达到 524,288 ETH (也即有 16,384 名验证者参与抵押,每名验证者抵押 32 ETH) 时,则 Eth2 信标链主网 (Eth2阶段0) 将于12月1日正式启动,否则信标链创世区块诞生时间将顺延。[备注:Eth2 Launch Pad 是 Eth2 验证节点快捷启动平台]

       

需要注意的是,如果 ETH 持有者想要成为 Eth2 的验证节点,必须要具有必要的硬件要求和技术专长,并通过官方的 Eth2 Launch Pad 按照分步说明进行操作,切勿直接将 ETH 发送到该存款合约地址,直接将 ETH 发送到该合约地址将导致交易失败,而并不意味着在 Eth2 上参与质押。

 

如何成为 Eth2 网络验证者呢?在质押 ETH 之前需要注意些什么呢?......我们将在本文涵盖以下内容:

  1. Eth2 验证者硬件要求;

  2. 选择和安装 Eth2 客户端‘

  3. 搭建 Eth1 节点;

  4. 使用 Eth2 Launch Pad 完成质押。

 

01

硬件要求

基于 Eth2 去中心化的设计目标,预计 Eth2 验证者将使用各种不同的基础设施 (本地部署,云端等等)。

 

????如果你此前尚未参与 Eth2 测试网的 ETH 质押操作,可以使用 Medalla 测试网进行试验,以此来决定哪种设置能够给予你最佳的参与性能。在正式成为 Eth2 信标链验证者之前,请确保先在测试网上进行一些测试!可通过此链接参与成为 Medalla 测试网的验证者:

https://medalla.launchpad.ethereum.org/

 

下面我们将给予一些成为 Eth2 验证者的硬件要求,帮助你提前做好准备!

 

推荐的硬件规格:

  • 操作系统: 64-bit Linux, Mac OS X, Windows

  • 处理器: Intel Core i7-4770 or AMD FX-8310 (或更佳)

  • 内存: 8GB RAM

  • 存储空间: 100GB 固态硬盘可用空间

  • 互联网连接: 宽带网络连接 (10 Mbps)

  • 电源: 不间断电源供应 (UPS)

 

或者选择云提供商,以Digital Ocean云提供商为例:

  • 相应的 Digital Ocean 虚拟机实例:

    • 内存: 8GB RAM

    • 存储空间: 160GB 固态硬盘可用空间

    • 正常运行时间: 99.99%

    • 可用性: 8 个数据中心

    • $/每小时: $0.060

    • $/每月: $40

 

最低硬件规格:

  • 操作系统: 64-bit Linux, Mac OS X, Windows

  • 处理器: Intel Core i5-760 or AMD FX-8110 (或者更佳)

  • 内存: 4GB RAM

  • 存储空间: 20GB 固态硬盘可用空间

  • 互联网连接: 宽带网络连接n (10 Mbps)

  • 电源: 不间断电源供应 (UPS)

 

相应的 Digital Ocean 虚拟机实例:

  • 内存: 4GB RAM

  • 存储空间: 80GB 固态硬盘可用空间

  • 正常运行时间: 99.99%

  • 可用性: 8 个数据中心

  • $/小时: $0.030

  • $/月: $20

 

02

选择并安装 Eth2 客户端

Eth2有着多个客户端可以选择,验证者在运行验证者节点世可以选择不同的客户端实现。

 

截至目前,已经有 4 个 Eth2 客户端团队开发的 Eth2 客户端可供选择,这些 Eth2 客户端分布式:Teku、Nimbus、Lighthouse 和 Prysm

        

 

Eth2 客户端

Prysm Prysmatic Labs 团队开发(Discord):

 

  • Prysm 是基于 Go 的 Eth2 客户端实现,专注于客户端的可用性、安全性和可靠性。Prysm 客户端使用 Go 语言编写,根据 GPL-3.0 许可进行发布。

    • 使用说明: 

      https://docs.prylabs.network/docs/getting-started/

    • Github: 

      https://github.com/prysmaticlabs/prysm/

 

LighthouseSigma Prime 团队开发 (Discord):

 

  • Lighthouse 是基于 Rust 的 Eth2 客户端实现,非常注重速度和安全性。Lighthouse 客户端背后的团队 Sigma Prime 是一家信息安全和软件工程公司。Lighthouse 根据 Apache 2.0 许可进行发布。

    • 使用说明: 

      https://lighthouse-book.sigmaprime.io/

    • Github:

      https://github.com/sigp/lighthouse

TekuConsenSys 开发 (Discord):

  • PegaSys Teku 是基于 Java 的 Eth2 客户端实现,其设计和搭建旨在满足机构需求和安全要求。Teku 获得了 Apache 2 的许可,并用 Java 编写,Java 是一种成熟且广泛使用的语言。

    • 使用说明: 

      https://docs.teku.pegasys.tech/en/latest/HowTo/Get-Started/Build-From-Source/

    • Github:

      https://github.com/PegaSysEng/teku

 

NimbusStatus 开发 (Discord):

  • Nimbus 是一个 Eth2 研究项目和一个客户端实现,旨在在嵌入式系统和个人移动设备 (包括搭载资源限制的硬件的较早的智能手机) 上良好运行。Nimbus (Apache 2许可) 使用 Nim 语言编写,Nim 是一种具有类似于 Python 语法的语言,可编译为C语言。

    • 使用说明: 

      https://nimbus.team/docs/

    • Github: 

      https://github.com/status-im/nim-beacon-chain

 

03

安装 Eth1 节点

 

运行 Eth2 验证者节点除了需要安装一个 Eth2 客户端之外,还需要运行一个 Eth1 节点,此 Eth1 节点用于监视验证者的 32 ETH 抵押存款。在搭建 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 验证者节点都需要质押 32 ETH。请注意,如果你最终成功地成为了 Eth2 验证者,则意味着你对此参与计划做出了长期承诺 (因为短期内这些质押的 ETH 无法取出)。

 

如果你需要获取一些 ETH,可通过加密货币交易所进行获取,比如:

 

  • 法币交易所 (美国地区): Coinbase 或者 Gemini

  • 法币交易所 (非美国地区): Binance 或者 Kraken

  • 以太坊去中心化交易所: Uniswap

 

第二步: 前往 Eth2 Launchpad 平台进行 ETH 质押

 

在过去的几个月中,以太坊基金会 (EF)、Codefi Activate 和 Deep Work Studio 一直在开发一个Eth2 验证者节点快捷启动界面,以使用户更容易参与 ETH 质押并成为 Eth2 验证者。

 

这项工作的结果就是 Eth2 Launch Pad 平台的发布,该平台旨在安全地指导用户完成生成 Eth2 密钥对并将 32 ETH 质押进 Eth2 官方的存款合约中

 

Eth2 Launch Pad 是为在家即可参与 Eth2 验证节点的人而设计的,也即打算运行自己的 Eth2 验证者节点的业余爱好者,并接受在自己的计算机终端屏幕上运行命令。

         

第二步: 尽职调查

 

在成为 Eth2 验证者节点的过程中,花点时间阅读一下 Eth2 Launch Pad 平台上的内容是非常重要的!该平台上的“Overview” (概述) 部分旨在使你知晓在质押 ETH 时所涉及的风险和相关信息。包括:

 

(1) Eth2 使用 PoS (权益证明机制) 来保护整个网络。为此,网络需要活跃的参与者 (也即验证者) 来提议、验证和保证区块的有效性。作为交换,诚实的验证者将获得财务奖励。重要的是,验证者需要质押 ETH 作为抵押品,换句话说,需要质押一些资金。成为验证者的唯一方法是在当前的以太坊链 (也即 Eth1 链) 上往存款合约发送一笔单向的 ETH 交易。

 

(2) 要成为 Eth2 验证者,你需要对每个要运行的验证者节点都质押 32 ETH。注意,此抵押过程是单向不可逆的。

 

(3) 只有积极参与 Eth2 共识的验证者才能获得奖励。离线的验证者会受到惩罚。某节点离线受到的惩罚力度与该节点积极参与共识时可以获得的奖励相当。

 

(4)  进行恶意行为或者与 Eth2 规范背道而驰的验证者,很容易受到罚没惩罚 (get slashed),这将招致巨额惩罚。

 

(5) 验证者密钥是从唯一的助记词 (种子) 派生的。你的种子是取款时的唯一途径。因此,最重要的是确保其安全!请备份好你的助记词

 

(6) Eth2 Launch Pad 将帮助用户创建每个验证者节点的签名密钥对 (不同的验证者节点都有不同的签名密钥,即便某个用户同时运行了多个验证者节点,但同一个用户运行的多个验证者节点可以使用同一个取款密钥),这些签名密钥将会保存在 keystore(密钥库文件) 中 (注意:每个验证者的签名密钥会保存在单独的 keystore 中),当你使用验证者软件开始验证之前,你需要将 keystore 导入到验证者软件中。

 

通过 Eth2 Launch Pad 创建验证者节点时,你还会收到一个存款文件 (deposit file,文件后缀为 .json),需要将该存款文件上传至 Eth2 Launch Pad 网站上。(对此我们将在下文进行解释)

 

(7) 验证者之间的转账至少在 Eth2 阶段1 之前是无法实现的。验证者必须等到阶段2 (大约还要2年时间) 才能将资金提取到某个特定的分片链上。

 

(8) 由于至少在阶段1到来之前,验证者无法进行转账,因此在此之前,验证者无法自愿退出验证者行列并重新启动节点。这意味着验证者将需要在很长的一段时间内参与 Eth2 共识之中,

 

(9) 当前用户参与进来的是初始发布的 Eth2 新型网络中,与任何新软件一样,存在潜在的 bugs。虽然不太可能,但潜在的 bugs 可能会导致节点受到 slashing (罚没) 惩罚。

 

(10) 为了成为验证者,你将需要生成新的 Eth2 密钥对。为此,同时也为了安装验证者软件,你需要在技术上有能力在计算机终端上运行命令行

        

第三步:生成密钥对和助记词

 

对于每个验证者节点,你都需要生成验证者密钥对和一个助记词该助记词用于之后生成你的取款密钥。

 

首先,你需要在 Eth2 Launch Pad 上填写你想要运行的验证者节点数量,以及你想要在哪种操作系统上运行验证者节点。见下图????

        

接下来,Eth2 Launch Pad 平台将为你提供两个选项用于生成你的存款密钥 (deposit keys)。

 

你可以通过下方链接找到针对你的操作系统的详细说明:

https://github.com/ethereum/eth2.0-deposit-cli/blob/master/README.md

 

The first is to use the binary executable file that you can download from the Eth2 Github repo and then run the ./deposit command in your terminal window.

 

第一个选项是使用你从  Eth2 Github repo (https://github.com/ethereum/eth2.0-deposit-cli/releases/) 下载的二进制可执行文件,然后在你的终端窗口中运行 ./deposit 命令。见下图????

 

请记得验证以下该网址,确保你使用的是正确的网址来下载

               

第二个选项是从 Python 源代码搭建 deposit-CLI 工具。你将需要按照说明进行操作,以确保你已安装所有必需的开发库和 deposit-CLI 工具。见下图????

        

 

当你安装了 deposit-CLI 工具并在你的终端窗口运行此工具时,你将被提示:

 

  1. 明确你想要运行的验证者节点的数量;

  2. 你想要用于生成助记词的语言;

  3. 明确你想要运行验证者节点的网络 (主网)。

 

请确保你设置的是 --chain mainnet,否则存款将无效。

 

现在,你将被要求设置你的密码 (password),一旦密码确定,你的助记词将被生成。请确保你将助记词写下来,并将其离线存储在安全的地方!

 

如果你已经成功地完成了该步骤,那你应该可以看到下方这个屏幕????

               

如果你对 deposit-cli 有疑问,请访问其 GitHub repository: 

https://github.com/ethereum/eth2.0-deposit-cli

 

第四步:上传你的存款文件

 

你马上就要完成了!下一步是上传你在上一步生成的 .json 存款文件。

 

该文件位于 /eth2.0-deposit-cli/validator_keys 目录中,文件被命名为 deposit-data-[timestamp].json。

               

第五步:连接你的钱包

 

接下来就是连接你的 Web3 钱包,并点击继续。请确保你在你的钱包设置中选择了主网环境。加下图????

              

第六步:确认交易信息 & 发起抵押存款

当你连接钱包并确认你的钱包地址后,你将进入一个总结性的页面,该页面将显示你需要向存款合约中发送的 ETH 总数量 (根据此前你选择运行的验证者节点数量,每个验证者 32 ETH)。

 

点击同意警戒检查 (alert checks),然后单击确认以导航到最后一步——进行实际存款。

 

点击“Initiate the Transaction” (发起交易),将你的 ETH 质押进官方的 Eth2 存款合约中。

 

你将需要通过你的钱包确认每个验证者的 32 ETH 质押款。

 

当这笔交易确认之后,你就完成了 Eth2 质押操作了!????

 

祝贺!!

-END-

【翻译文章仅为传播更有价值的信息,文章版权归原作者所有,其内容与观点不代表Unitimes立场。本微信平台出现的图片、音乐、视频部分是在互联网收集而来,版权归版权所有人所有,若版权者认为其作品不宜供大家浏览或不应无偿使用,请发邮件至 editor@unitimes.io 或添加微信unitimes2019联系我们,本平台将立即更正。】

喜欢今天的内容吗?喜欢就点个

在看

这篇关于Eth2存款合约发布!如何质押你的 ETH 成为验证者呢?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/664471

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

C++ | Leetcode C++题解之第393题UTF-8编码验证

题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

easyui 验证下拉菜单select

validatebox.js中添加以下方法: selectRequired: {validator: function (value) {if (value == "" || value.indexOf('请选择') >= 0 || value.indexOf('全部') >= 0) {return false;}else {return true;}},message: '该下拉框为必选项'}

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

web群集--nginx配置文件location匹配符的优先级顺序详解及验证

文章目录 前言优先级顺序优先级顺序(详解)1. 精确匹配(Exact Match)2. 正则表达式匹配(Regex Match)3. 前缀匹配(Prefix Match) 匹配规则的综合应用验证优先级 前言 location的作用 在 NGINX 中,location 指令用于定义如何处理特定的请求 URI。由于网站往往需要不同的处理方式来适应各种请求,NGINX 提供了多种匹