2020年12月1日备受瞩目的ETH2主网0阶段正式上线,以太坊终于向POS迈出了实质性的步伐,ETH也开启了从更偏重商品到生产资料的转变,每一个ETH的持有者也终于得以用手中的以太坊参与网络建设捕获它发展的价值。伴随着这个当今最大的公有链航母全新启航,这不仅仅是对于以太坊是一个划时代的事件,更是整个区块链生态的一个非常重要的历史性的里程碑。这个意义这篇文章里就不再展开了,本文的正题是教大家自行搭建一个自己的ETH2验证人Stake节点的技术文章。
“PS.提前声明,本文仅为作者经验,这些仅供您参考,也许您比我更专业。“
一、没那么难
如今市面上ETH2的第三方Staking方案如雨后春笋,但是均为中心化或半中心化的解决方案,会对参与的ETH的本身和收益都会产生安全性威胁,最安全的自建节点方案被描述的门槛颇高。毕竟对于打算长期持有ETH的朋友来说自建节点是最安全稳妥的解决方案,但被人言亦言的高门槛吓住了,其实是这样的,ETH2是可以使用Windows服务器搭建节点的,不仅系统亲切的像是家里的台式机,而且还可以有一个可以用鼠标点的好用的UI界面。
二、准备资料
·32个以上的ETH
每32个ETH可以建立一个验证器,这个没法替代哦。
·ETH2节点程序
本文使用 Prysm 它可以运行在 WindowsLinuxOSX 上
官网:Prylabs.network 官方文档: http://r6d.cn/MkRQ
替代方案:Nimbus、Teku、LightHouse (链接在附录)
·ETH1节点程序
本文使用第三方托管Infura
注册: http://r6d.cn/MkVR
替代方案:
自建 GethOpenEthereumNethermindDappNode 三方 QuickNode Alchemy (链接在附录)
·一台运行用服务器
要求是4核8G的机器10M带宽的机器,您可以选择云服务器、托管独立服务器或在合适的地方放一台24H开机联网的电脑。
本文使用 UCLOUD 的 香港节点(预留政策空间)
注册: http://r6d.cn/Mmdg
替代方案:
阿里云、腾讯云、OC、AWS、AZURE、ReSellerClub (链接在附录)
三、注册Infura并获取API
首先前往Infura官网完成注册(http://r6d.cn/MkVR),ETHEREUM-CREATE NEW PROJECT->完成创建->SETTING->KEYS->MAINNET,那个https的链接复制好,那就是您的ETH1节点链接。
(创建PROJECT)
(您的ETH1API)
四、配置机器
"本段以UCLOUD的配置面板为例,其它云服务商操作类似,网络选择香港亦可以替换为其它地区。UCLOUD这类香港上市的内地企业,这个并不影响政策宽容度,一般是以机器所在地监管为准,选择香港的原因是内地访问延迟低方便管理服务器且有若干条国际光缆访问其他地区的速度快,由于ETH2初期尚存在一些不确定性对于运维便利性有一定需求。-仅供参考 "
·首先注册云服务商账户,选择云服务器产品(各家都是),打开配置页面,选择4核8G10M的香港机器,这是ETH2节点程序官方推荐的配置,选择3年,原因是从ETH2的0阶段开始到能提取大概可能会经历1-3年。
注:打开这个页面的流程是 注册(本文演示的注册地址 http://r6d.cn/Mmdg )-> 首页 -> 全球云产品1折起->香港云资源。写文时这家有这个活动,笔者也要自己搭节点故选用,其它家也类似选择。
·前往创建主机,选择系统为WindowsServer2019,4核8G并增加一块系统硬盘,本文由于使用了Infura故增加了200G只为存ETH2节点数据准备,类型选普通云盘即可实测无需SSD(因为SSD比较贵但普通云盘性能其实已经达标,至少这家的IO满足要求),若自建ETH1节点需要增加更多硬盘。
·选择带宽为10M不要选择共享,设置您的远程密码,并创建云服务器。(如果是和笔者是同一家刚才领的卷会自动抵扣)
·在本地机器使用开始->Windows附件->远程桌面,使用获得服务器IP地址,输入并连接。输入用户名Administrator和刚设置的密码,登陆看见一个亲切的桌面,熟悉的C盘和D盘,还有可爱的IE(不好用,要替换为Chrome)。
·安装以下软件 Chrome/FireFox浏览器 、(可选)安装一款服务器防火墙,至此服务器配置好啦。
前往UCloud后台->基础网络->外网防火墙->选择您的资源 开启如下端口对所有动作接受:
13000/TCP、12000/UDP、3389/TCP、ICMP、22/TCP(、若有GETH请开放30303/TCP&UDP)其它运营商或自己的硬件机器同理
五、安装软件并同步信标链
首先前往Prysm官网,打开Docs文档以备素食查阅(http://r6d.cn/MBCK),右键点击开始->运行->打开CMD.
依次运行如下命令下载Prysm.bat.
d:mkdir prysm && cd prysmcurl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.bat --output prysm.bat
在同一文件夹下创建一个config.txt内容为:
datadir: 'd:Eth2databeacon'
将其重命名为 config.yaml
在D盘下创建目录 D:Eth2databeacon
找到刚在您在Infura中创建的那个ETH1的API地址,在prysm.bat文件夹下创建一个文件名为run-infura-mainnet.txt,内容如下,而后保存并改名为run-infura-mainnet.bat
prysm.bat beacon-chain --http-web3provider=您的ETH1的API地址大概长这样https://mainnet.infura.io/v3/XXX --config-file=d:prysmconfig.yaml --grpc-gateway-corsdomain="http://127.0.0.1:7500,http://127.0.0.1:7000,http://127.0.0.1:4200,http://127.0.0.1:4242"
双击运行它,看见这个界面就是启动成功啦
关键字是 Finished 这行,千万不要关闭这个CMD哦,保证它7*24H运行.
六、建立ETH2验证人
在您的服务器的Chrome上安装MetaMask小狐狸钱包,并备份好它
安装地址:http://r6d.cn/MCg7
打开ETH2的LaunchPad官网
https://launchpad.ethereum.org/
阅读必要的说明,一路下一步中间随便选,一定确保右上角是Mainnet哦
到这个界面,要质押几组ETH就填几(32ETH为一组)
它会引导你下载存款证明和钱包生成器,下载它
用刚自动产生的命令生成您的钱包和存单证明,看见这个界面就OK啦,一定要备份好它们和助记词,这是未来您提款需要的。
回到LaunchPad上传存单证明文件
下一步链接钱包,它会自动打开MetaMask,完成32*N个ETH的质押。
待网络确认,您的ETH2验证人就建立好,文件保存好,我们准备把它导入验证器,越快越好哦。一般情况下此时是Pending状态,当您的验证人达到Active状态时代表网络正式接受您加入工作了,但是在此之前您一定腰包验证器搭建好哦。
您可以通过ETH2区块浏览器 Beaconcha.in或Beaconscan.com看见这个过程。
七、导入验证人并运行验证器
在D盘创建目录 d:validator 并将您的存款文件放进去,在Prysm.bat所在文件夹下创建V1.txt输入如下内容并重命名为V1.bat
prysm.bat validator accounts import --keys-dir=d:validator
运行它,完成了Validtator导入。
创建web.txt并输入如下内容,而后保存并重命名为web.bat
prysm.bat validator --web
看见这个界面说明您的验证器启动成功啦,等待网络接受您的工作咯。
好啦完成了,要保持它们7*24H可靠运行哦,虽然V神说了现在是初期的罚很轻,但是还是要时长看着点吧,及时跟进。
八、使用Prysm自带的WebUI运维您的节点。
Prysm自带一个非常好用的面板,用服务器上的Chrome访问
127.0.0.1:7500
设置一个密码,千万不要告诉任何人哦。
登入进去看见一个非常强大好用的面板
不要把7500端口暴露给其它任何人哦
加入他们的Discord( http://r6d.cn/MEeX )时刻和官方社区保持沟通哦,社区里有不少会中文朋友呢,祝你挖矿愉快:)
好啦大功告成,下篇我们讲更强大的监控工具使用、报警机器人的创建、运维技巧和一些经验。
Happy POS Happy earning~
2020.12.04
附录:
ETH1第三方:
Infura: Infura.io
QuickNode: http://r6d.cn/MEmJ
Alchemy: http://r6d.cn/MEqG
ETH2节点:
Prysm Labs 的 Prysm
Prysm 是以太坊 2.0 协议的一个 Go 实现,重点是可用性、安全性和可靠性。Prysm 用 Go 编写,并在 GPL-3.0 许可下发布。
说明:http://r6d.cn/MEDt
GitHub:http://r6d.cn/MEDP
Sigma Prime 的 Lighthouse
Lighthouse 是 Eth2.0 客户端的一个 Rust 实现,重点是速度和安全性。背后团队 Sigma Prime 是一家信息安全和软件工程公司。Lighthouse 是根据 Apache 2.0 许可提供的。
说明:http://r6d.cn/MEEq
GitHub:http://r6d.cn/MEEy
ConsenSys 的 Teku
PegaSys Teku 是一个基于 Java 的以太坊 2.0 客户端,其设计和构建旨在满足机构需求和安全要求。Teku 是 Apache2 授权的,用 Java 编写,Java 是一种成熟的、高普及度的语言。
说明:http://r6d.cn/MEEB
GitHub:http://r6d.cn/MEFH
Status 的 Nimbus
Nimbus 是一个针对以太坊 2.0 的研究项目和客户端,旨在在嵌入式系统和个人移动设备(包括硬件资源受限的老式智能手机)上也可以出色运行。Nimbus (apache2)是用 Nim 编写的,Nim 是一种具有类似 Python 的语言,可以编译成 C 语言。
说明:http://r6d.cn/MEGg
GitHub:http://r6d.cn/MEGz
服务器商:
Ucloud: http://r6d.cn/MEsM
阿里云: http://r6d.cn/ME8M
AWS: http://r6d.cn/MEAs
ETH2区块链浏览器:
Beaconcha.in
Beaconscan.com
*免责声明:本文仅作参考,无任何义务和约定,本文及作者亦不承担任何责任。内容具有时效性,您看见本文和本文写作时间可能有一定时间差异,期间可能会发生改变,以最新的各官方资料为准,作者不保证会跟进更新或续写,亦不承担任何责任。
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!