引言

由以太坊2.0客户端构建团队之一的Prysmatic Labs发布的以太坊2.0的第一个主网配置的测试网Topaz终于在4.15正式启动了。该测试网针对的是以太坊2.0第0阶段的测试,即实现信标链(beacon chain)和质押(staking)。

早在去年1月,以太坊在reddit上就进行过一次AMA1(Ask Me Anything),对以太坊2.0的进展做了详细的说明。当时预计第0阶段的正式启动预计会在2019年11月或2020年1月。然而现在已经是2020年5月份了,目前仍处在第0阶段的测试阶段,正式启动时间依然没有确定。可见以太坊和其他项目类似,对于进展的预计过于乐观,预计上线时间什么的也就只能听过算数,图一乐而已。

本人在去年10月的时候就已经参与过Prysmatic Labs的测试网的Staking了,并且在官方discord中提交过几个问题。当时的版本BUG非常多。然而时隔半年多,看到报道说他们的测试网已经有超过2.5万验证者参与了,这个数字的确超过了我的预想。没想到测试阶段的Staking就有这样的热度,看来社区对于以太坊2.0的关注程度相当之高。于是我便带着好奇参与这一次的测试网了。

开启Staking的过程踩了一些坑,也会在这里记录下来给大家作参考。

话不多说,进入正题。

名词解释

先解释几个的专有名词。

  1. PoS: 即Proof of Stake,中文叫“权益证明”。一个乍听上去一脸懵逼的词,其实很简单,泛指通过锁定代币获得新代币的挖矿方式。与之对应的是PoW-Proof of Work,工作量证明,即通过计算来获取新代币的挖矿方式,比如比特币。
  2. Staking:质押。指的是Pos中参与区块验证并获得新代币的过程。
  3. beacon chain: 信标链。信标链是 Eth2 的核心,它管理着验证者和分片的协调。信标链是事实的源泉,Eth2 的所有其他方面都从这里启动。
  4. validator: 验证者。抵押ETH后,负责对区块进行提议(propose)或证明(attest),并获得收益。

准备工作

1. Metamask

Metamask是一个基于浏览器插件的ETH钱包。
官网:https://metamask.io/
教程:http://bjiebtc.com/qianbao-metamask-shiyongjc/
按照教程操作,到记完助记词并进入主界面即可。然后点击上方的网络切换按钮,默认的为主网络,这里需要切换到Goerli测试网络,如下图:

2. 主机

个人电脑、本地服务器、云服务器都可运行。官方的最低配置要求如下:

  • 操作系统:64位Linux,Mac OS X,Windows
  • 处理器:Intel Core i5–760或AMD FX-8100或更高
  • 内存:4GB RAM
  • 储存空间:20GB可用空间SSD
  • 互联网:宽带连接

一定要满足该最低要求!
如果使用1GB内存和2GB交换的主机(去年10月测试可行)运行信标链客户端,一定时间后将会报错退出。别问我是怎么知道的!
由于运行时必须保持24/7在线,因此还是推荐租云服务器来进行Staking。配置起码要2核4G。

参与Staking!

参考官方文档:https://prylabs.net/participate

1. 下载代码

新建任意目录,进入后执行以下代码:

git clone https://github.com/prysmaticlabs/prysm && cd ./prysm

等待下载完成后即可。

2. 获取测试所需的ETH - GöETH

GöETH即Goerli测试网所用的ETH。记住测试网的ETH没有任何价值,仅作为测试用。
在官方文档中点击第2个步骤,再点击METAMASK图标连接到钱包:

之后会出现metamask弹窗,点击授权。接下来会提示你至少需要32个GöETH才能参与。点击Need GöETH,并在弹窗中点击Yes please。

3. 生成验证者的公钥和私钥

执行以下代码创建账户

./prysm.sh validator accounts create

创建的过程中看到INFO accounts: Enter a password:之后输入密码并记住所输密码,之后按下回车即可成功创建账户。
完成后会看到以下字符。复制0x…的部分。

========================Raw Transaction Data=======================
0x.......
...........
...........
===================================================================

4. 发送验证者存款

上述拷贝下来的内容中包含验证者账户的信息。将内容粘贴到官方文档中的步骤3的输入框内,然后点击步骤5的make deposit按钮,之后在metamask的弹窗中确认该笔交易即可。

5. 运行信标链(beacon chain)和验证者(validator)客户端

官方文档的这一步骤在发送验证者存款之前,不过放在最后也没有关系。

一旦开始验证之后,信标链客户端和验证者客户端需要24/7全天候在线才能进行Staking,否则将会受到惩罚。因此需要保证两个进程在关闭终端后继续保持运行。
关闭终端后保持进程运行的常用方法为nohup,或者screen。由于验证者客户端需要输入账户创建时设置的密码才能继续,而nohup运行时会因无法输入密码而退出验证者客户端,因此这里使用screen运行。

通过screen开启客户端

  1. 创建并进入一个新的screen session:
screen -S beacon_chain
  1. 运行信标链客户端
./prysm.sh beacon-chain
  1. 等待开始运行后,按下快捷键CTRL+A+D脱离终端。此时会显示[detached from xxxx.eth2test1beacon]并退回到原来的回话,信标链节点将会继续保持运行。如果要回到信标链session,使用-r参数即可:
screen -r beacon_chain

以同样的方式开启验证者客户端,创建一个新的screen session并将步骤2改成./prysm.sh validator并输入密码即可。
如果忘记创建的screen session名称,运行screen -ls可查看所有创建的screen session。

注意事项

  • 开始Staking需要经历三个阶段:
  1. 初始同步(initial sync):和其他区块链一样,开始阶段需要同步所有的历史区块。这一阶段信标链进程将会占用大量内存、CPU和带宽资源。以xx云的2H4G云主机为例,客户端开始时同步速度为大约20区块/秒,但运行一段时间后会缓慢降至0.4区块/秒。此时重启客户端会恢复到初始速度,同步完成大概需要重启3-4次,整体时间根据主机性能和网速需要2小时-12小时。这一阶段如果开启验证者客户端,将会一直处于等待信标链同步完成的状态,因此可暂时不管验证者客户端,等到同步完成后再开启,节省资源。
  2. 等待成为验证者:信标链同步完成后,开启验证者客户端,此时会进入等待队列。处于等待队列的验证者没有收益。此过程大约需要24小时左右。
  3. 进行验证并获取收益:等待完成后即成为验证者,被分配到特定分片进行提案(propose)或证明(attest)。持续完成提案或证明即可获得收益。
  • 可设置swap交换区增加虚拟内存,防止内存不足导致信标链客户端出错,特别是在初始同步阶段。增加swap的方法详见:https://blog.csdn.net/blog_liuliang/article/details/80435134

  1. Ethereum 2.0 Reddit AMA ↩︎

以太坊2.0 POS挖矿(ETH2 Staking)教程(一)Topaz测试网相关推荐

  1. 以太坊2.0 POS挖矿(ETH2 Staking)教程(二)Topaz测试网-监控篇

    在上一篇教程中已经介绍了开启Staking的方法: 以太坊2.0 POS挖矿(ETH2 Staking)教程(一)Topaz测试网 由于Staking要求验证着24/7保持在线才能持续获得收益,如果验 ...

  2. 以太坊2.0怎么挖矿_以太坊2.0即将上线 现在正是挖矿红利期 普通人如何参与挖矿?...

    以太坊2.0 吹响牛市号角!以太坊从诞生至今,共经历了四个阶段,分别是Frontier.Homestead.Metropolis和Serenity,此次以太坊升级疏于第四阶段Serenity,其中最核 ...

  3. 一文读懂以太坊2.0及其影响

    以太坊 2.0 与以太坊经典? 以太坊 2.0,又名 Eth2 和 Serenity,是对现有以太坊经典区块链的首次升级,旨在提高以太坊网络的速度.效率和可扩展性,同时提高安全性并使网络更具可持续性. ...

  4. 以太坊核心开发者正在制定ETH2.0合并最低技术规范

    在3月11日的Eth2开发者电话会议上,以太坊基金会研究员及开发者Danny Ryan表示,其和以太坊2.0客户端Teku的Mikhail Kalinin,正在探索创建一个可交付产品,以保存一些功能供 ...

  5. 币安选择InfStones作为以太坊2.0 Staking基础设施服务商

    据官方消息,区块链基础设施提供商InfStones与数字货币交易所币安合作,为以太坊2.0服务提供核心基础设施支持. 作为合作的一部分,InfStones为币安提供包括以太坊2.0验证人节点在内的基础 ...

  6. 以太坊2.0将至,蕴藏着哪些投资机会?

    以太坊2.0距离正式发布更近一步,这是整个加密行业期待已久的大事件. ETH开发者Superphiz在推特上透露,合并计划在9月19日进行,目前还没有最终确定.尽管这个可能不是最终的合并时间,但是这也 ...

  7. eos和以太坊有什么关系_以太坊 2.0是什么?

    ETH2.0 是以太坊的计划升级方案.在接下来的几年里,ETH2.0 的设计者们计划完全革新以太坊的共识系统,并引入以太坊现有的世界状态.由于涉及面极广,我们也无法准确地说明 ETH2.0 将包括或者 ...

  8. V神演讲干货全送上!关于以太坊2.0,你想知道的都在这里!

    编辑 | 晋兆雨.Carol 8月8日 ,「2020以太坊技术及应用大会·中国」顺利举行.CSDN 创始人&董事长.极客邦创投创始人蒋涛.以太坊创始人Vitalik Buterin .Unit ...

  9. 以太坊区块链也拥堵_后以太坊1.0众生相:DeFi拥堵,突围Layer2

    不知不觉,我们已经走到了一个「后ETH1.0时代」.从使用体验上,ETH1.0已经不能很好地满足用户的需求:仅仅是DeFi应用,就让其走向了史无前例的.不可忍受的拥堵.然而,孕育了数年的ETH2.0却 ...

最新文章

  1. pip无法更新_TensorFlow 2.0开发者测试版发布!每晚更新
  2. 升级鸿蒙的十款手机,华为郑重宣布,第二批升级鸿蒙的十款手机,荣耀30系列上榜!...
  3. C#中的Dispose模式
  4. 怎样运用好iMindMap中的虚线箭头
  5. 浏览器API 文字转语音
  6. html5 指南针,14.html5 作业 简单移动端-指南针 用 canvas 画一下.
  7. luckysheet实现打印功能
  8. v-charts使用-实例
  9. Gartner:浪潮存储进入分布式存储前三
  10. C语言游戏编程之flappy birds
  11. 华为MA5300配置RADIUS认证
  12. 如何实现某些软件自动点赞
  13. MAC上QuickTime截取音乐片段/iphone换铃声
  14. javawe(ckeditorsmartupload)
  15. 空前绝后!PostgresConf.CNPGConf.Asia 2020大会闭幕
  16. 花盆Flowerpot[USACO12MAR]
  17. 适配Android Q上读取多媒体文件
  18. python opencv实现图像生成bump map凹凸贴图
  19. centos raid挂载_服务器挂载磁盘阵列
  20. 数学建模培训作业(一)

热门文章

  1. 便携式Chrome浏览器
  2. 2008年6月——2010年2月学习总结
  3. Lidl和Kaufland全面开建电动车充电站
  4. 网络安全监控 NSM 笔记
  5. 数值计算方法与c语言工程函数库 pdf,数值计算方法和算法.PDF
  6. RK3399核心板,装Ubuntu18.04系统,LVDS屏幕配置
  7. 深度学习基础: BP神经网络训练MNIST数据集
  8. 测试转型首选,年薪35W+,市场缺口巨大
  9. 如何在谷歌浏览器中使用vue调试工具
  10. 学生HTML个人网页作业作品 HTML+CSS+JavaScript环保页面设计与实现制作