手把手教你搭建ETH2.0的POS节点(二)-验证者技巧经验

截至发稿信标链自创世以来已经稳定运行了三个月,这期间网络运行状态良好没有出现太大的问题,这一切对ETH2来说真是太棒了。这篇文章我们分享一些本阶段的运维经验,由于除了升级操作以外均为非必要操作,故本篇文章就不掰开揉碎讲解了。

需要节点搭建教程的朋友请看上篇文章:

《手把手教你自建ETH2的Staking节点(一)其实很简单,你也行!》

佑哲,公众号:哲说区块链手把手教你自建ETH2的Staking节点(一)其实很简单,你也行!

本文针对环境:

Prysm客户端、WindowsServer系统的、本地电脑或云服务器自行运行节点的朋友。严谨的说针对当前阶段,随着ETH2一步步升级最终到合并可用会有很多新的事项和改变,我们逐篇跟进。

一、节点升级操作

节点升级在Prysm里非常简单,只需要关闭您的Cmd窗口并再次启动即可,它会自动下载最新的客户端并完成本地数据升级。

注意事项:

1)Prysm经常出现数据不向前兼容的升级,故若新版本运行出现问题无法通过进行手动降版本操作恢复运行,建议在升级前先进行数据库压缩备份或硬盘快照,否则您需要查阅官方对应版本的回滚操作说明。

2)若新版本运行出现问题,大多数情况下您可以通过手动降版的方式恢复旧版运行,操作方法是在prysm.bat文件中通过命令指定版本运行(如下图)。

"set USE_PRYSM_VERSION=vX.X.X"

3)不建议在关闭进程后立即完成更新重启,安全起见建议等待至少两个Epoch后在操作。

4)每次升级前尽量等待新版本发布了12H~24H之后,因为有时侯官方会紧急修正刚推出的发行版。

二、节点运维仪表盘和报警机器人

建议您在运行官方仪表盘之外额外的运行一个Grafana和Prometheuszuche组成的监控器,并开启报警机器人,这样各种状态可以更详尽的一目了然,并且当节点出现问题时机器人可以第一时间呼叫您。

1)Grafana和Prometheuszuche的安装和启动及机器人的启动

https://docs.prylabs.network/docs/prysm-usage/monitoring/grafana-dashboard

2)点击左侧的铃铛图标设置报警策略和通知通道,我设置了电报和Discord的报警通道,除此之外您还可以设置钉钉、LINE、Email、HP及自定义API(例如微信公众号),这样您就可以在手机上关注到您的节点异常通知了以便及时处理。

3)个人建议您选择把报警铃声加大或委托可信任的人在自己不便操作时处理故障,而不是制作自动重启脚本,如果误动导致双签致Slash您将遭受不小的罚没,除非您的脚本逻辑足够严谨并且您的节点有此必要需求的情况下。

三、故障Fork和分叉链上的Slash虚惊

目前阶段上运行过程中偶尔会发生故障分叉,这种小问题初期出现在所难免笔者也有过经历,这一般发生在主网上有主要客户端升级的过程中。由于近期更新迭代速度非常非常快,各大客户端版本升级非常频繁,第一次硬分叉升级还没有实际实施,所以遇到这个情况的概率稍微有些上浮,具体表现是这样的:

1)您的BeaconChain节点运行状态看起来完全正常,但是区块速度和主网开始出现漂移。

2)您的Validator工作状态正常,但是您的余额是下降的,也就是您实际在主网上是离线惩罚的状态。

3)您的Validator在主网上表现为Miss,但是您的报警机器人提示您被Slash,您此时并没有进行任何作恶或可能导致双签的操作,非常的虚惊。

4)其它情况遇到我再总结

处理方法其实很简单:

1)(推荐)关闭两个客户端(最好断一下网),谨慎起见最好等待2个Epoch后,重新启动客户端并从根节点加入网络。

2)(不推荐)等待Validator上一个Epochjie刚刚结束,只关闭BeaconChain客户端,谨慎起见最好等待2个Epoch后,重新信标链节点并从根节点加入网络。

四、一切正常但节点运行状态并不良好

这个表现是您链上经常出现Miss、节点卡顿、进程不稳定等情况,但是找不到哪里出了问题。一般这是因为您的节点运行时间太长了,一般会伴有长时间的泄漏导致的系统资源接近跑满。一般出现这个情况您的节点已经完成一段较长时间的稳定运行了,此时的最好的解决办法是全关了,正好更新Windows、做做系统维护,重新启动服务器,然后(更新并)运行节点。

五、获得Slasher奖励

Slasher是一份额外的奖励,是一份不稳定的收入,但是在Prysm中它会为您的信标链节点带来比较大的负担。故建议您的机器资源足够充裕的情况下再启动Slasher进程,不然可能会导致您的验证者进程工作状态有所下降,提升Miss的概率。

1)如何在Prysm中启动Slasher

https://docs.prylabs.network/docs/prysm-usage/slasher

2)部分其它客户端可能会更省内存和计算资源的运行Slasher,但代价是会占用更大的硬盘,例如LightHouse,这一点看您取舍。

六、担心节点的网络安全

建议您保持Windows更新并设置严格的外网防火墙,如果您采用云服务一般服务商都会为您提供一套基础安全策略,本机您还可以安装额外的安全软件。

注意:建议服务器系统上不要安装360、电脑管家等个人PC机用安全软件。

您可以尝试使用一些比较简单的服务器安全软件,例如:服务器安全狗,并安装服云APP到您的手机上,以便随时随地使用手机登录您服务器的远程桌面,并在网络防火墙中开放如下端口:

ServiceDefault Port
Geth30303 TCP/UDP
Lighthouse9000 TCP/UDP
Nimbus9000 UDP/TCP
Prysm12000 UDP, 13000 TCP
Teku9000 TCP/UDP

及3389(或您自定义的远程桌面端口)

1)服务器安全狗官网
https://www.safedog.cn/

七、使用第三方链上监控软件

本地监控机器人可能会在遭遇故障分叉时无法检测到问题,这个问题我遭遇过一次但无法确定原因,可能是由于本机看见了一个运行看似正常的故障分叉链。此时若您只依赖服务器上的本地机器人是需要人工发现问题的,因此建议您使用一个第三方监控工具,它能通过监控链上余额变化被动发现问题,从而帮助您报警这样的故障。

1)您可以尝试Beaconcha.in的APP监控Validator。

八、时钟漂移

当您出现所连接的Peers数量只减不增直至趋近为0这个情况时,大概率说明您的节点出现了时钟漂移,一般重启即可。

九、担心您(或第三方)的ETH1节点不稳定

您可以为您的Validator添加一个备用的ETH1节点,命令如下

--fallback-web3provider=XXX

好啦,这篇先分享到这,一起为ETH2加油!

2021.3

附录:

上一篇文章:

《手把手教你自建ETH2的Staking节点(一)其实很简单,你也行!》

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

服务器商:

UC: http://r6d.cn/MEsM

阿里云: http://r6d.cn/ME8M

AWS: http://r6d.cn/MEAs

ETH2区块链浏览器:

Beaconcha.in

Beaconscan.com

服务器防火墙:

安全狗: www.safedog.cn

最后欢迎各位STAKER加入我们的社群

我们现在有ETH2STAKER、SWARM和SpaceMesh的STAKER微信群,如果您是一位独立验证人节点维护人,欢迎加SoloStaker客服微信拉您入群:

微信号: dounaoguozi

关注我们的公众号: SoloStake

在STAKE的路上同行。

2021/3

*免责声明:本文仅作参考,无任何义务和约定,本文及作者亦不承担任何责任。内容具有时效性,您看见本文和本文写作时间可能有一定时间差异,期间可能会发生改变,以最新的各官方资料为准,作者不保证会跟进更新或续写,亦不承担任何责任。

You May Also Like

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注