[Native 模式] Redstone 更新与合并指南
本指南将涵盖如果您使用 Native 模式,为您的节点准备 Redstone 更新和合并所需了解的一切内容。
升级到 v1.5.0 之前要做的事情
在升级到 v1.5.0 及更高版本的 Smartnode 之前,请检查以下清单以确保您已做好准备:
切换到完整执行客户端
合并要求您运行自己的执行客户端,因此您将无法再使用像 Infura 或 Pocket 这样的远程提供商。
由于此更改,如果您当前使用的是轻量级执行客户端,您应该在仍使用 v1.4 时切换到完整客户端,让它同步完成,然后再升级到 v1.5。
设置 Engine API
合并改变了执行客户端与共识客户端通信的方式。 合并不再使用旧的基于 HTTP 或 Websocket 的 RPC 系统,而是需要执行客户端公开的新系统,称为 Engine API。
这是一个特殊的连接,让共识客户端能够用权益证明替换旧的工作量证明挖矿系统;这是合并的核心。 它还使用秘密令牌进行身份验证,因此只有您的共识客户端可以连接到您的执行客户端 - 其他任何东西都不能。
由于您管理自己的执行和共识客户端,您需要手动设置 Engine API。 如何操作完全取决于您运行的是哪些客户端。
CoinCashew 有一份很好的简明指南,介绍如何在执行和共识客户端上设置 Engine API。 看看那个指南,并在升级之前通过确保它仍能正确证明来测试新配置。
我们将在下面向您展示如何设置验证客户端,以便它自动使用 Smartnode 软件所需的正确费用接收者。
升级到 v1.5.0
将 Smartnode 堆栈升级到 v1.5.0 与任何其他升级没有什么不同。 只需按照此处的常规说明操作。
升级后您应该做的事情
在 Native 模式下,升级后您需要手动完成几件事:
确保升级成功
首先要做的是确保您的节点正常工作。 考虑采取以下步骤:
- 检查执行客户端、共识客户端、验证客户端和 Smartnode 守护进程(
rp-node服务)的日志脚本,以确保它们都正常运行而没有错误。 - 使用区块浏览器(如您的 Grafana 仪表板和 https://beaconcha.in)确认您仍在正确证明
- 请记住,如果您启用了 Doppelganger 保护,您将在重启后错过一些证明。这是正常的!
在验证客户端中设置费用接收者
在合并之前要设置的关键细节之一是验证客户端指定的费用接收者。 如概述文章中所述,这可以是两个值之一:
- 如果您已选择加入 Smoothing Pool,则必须是 Smoothing Pool 合约的地址。您可以从官方合约页面获取该地址。
- 如果您不在 Smoothing Pool 中,则必须是您节点的费用分配器合约的地址。您可以通过运行
rocketpool node status在Fee Distributor and Smoothing Pool部分下获取地址。
在 Native 模式下,如果您使用 Smartnode 守护进程服务 rp-node,您可以选择让 Smartnode 为您管理此项;如果您不使用守护进程,则自己管理。
通过守护进程自动管理
Smartnode 守护进程将自动确定您节点的适当费用接收者,并在其更改时进行管理(例如选择加入和退出 Smoothing Pool)。 这是最安全的选项,因为 Smartnode 将始终确保将其设置为一个**防止惩罚**的值。
它的工作方式是维护一个包含正确费用接收者的文件,并定期刷新以确保其正确性。 当需要更新时,它会修改文件并自动重启您的验证客户端,以便它加载新的接收者 - 类似于质押新 minipool 后重启验证客户端的方式。
选择下面的客户端以了解如何设置:
通过在 ExecStart 行_之前_添加以下行来修改您的验证客户端服务:
例如:
接下来,将以下命令行参数添加到 ExecStart 行的_末尾_:
您的 VC 现在将使用 Smartnode 守护进程管理的文件,并在费用接收者更改时自动重启。
手动费用接收者管理
通过这样做,您将承担全部责任,确保您的费用接收者始终设置为正确的地址。
请阅读惩罚规范以了解根据您的配置必须将其设置为什么,以及何时可以安全地将其从一个值更改为另一个值。
否则可能导致您的 minipool 受到惩罚!
在 Redstone 部署之前,您可以简单地使用您所在网络的 rETH 地址(可以在官方合约页面中找到)。 rETH 地址无论如何都是安全的。
一旦 Redstone 部署,您可以通过 rocketpool node status 查看应该将费用接收者设置为的确切地址。例如,如果您选择加入 Smoothing Pool,它将显示 Smoothing Pool 的地址并注明您必须将其用作费用接收者:
如果您没有选择加入 Smoothing Pool,它将显示您的费用分配器地址并注明您必须将其用作费用接收者:
选择下面的共识客户端以了解如何配置它。
将以下命令行参数添加到验证客户端的服务定义文件:
其中 address 是:
- 在 Redstone 更新部署之前的 rETH 地址(例如,主网上的
0xae78736Cd615f374D3085123A210448E74Fc6393) - 在 Redstone 部署后您节点的费用分配器,您可以在合约升级后通过
rocketpool node status检索 - 如果您选择加入 Smoothing Pool,则为 Smoothing Pool 地址
作为提醒,rocketpool node status 将随时显示您应使用的正确费用接收者。
请仔细阅读惩罚规范以了解有关费用接收者的条件和期望。
设置 MEV-Boost
MEV-boost 是 Flashbots 提供的系统,用于在合并后向权益证明验证者提供 MEV 奖励。
Rocket Pool 要求所有节点使用它以最大化回报,从而保持协议与其他质押服务的竞争力。
您需要对信标节点/共识客户端进行一些调整以将其连接到 MEV-boost。
MEV-boost 目前在 Hoodi 或主网上不可用,因此您此时不需要设置它。 当然,在此过渡期间,您不会因不使用它而受到惩罚。
一旦它可用,我们将宣布一个日期,届时它必须被安装并连接到您的节点。 Flashbots 将提供您可以在那时遵循的说明,我们将在此处链接到它们。
一旦我们宣布所有节点运营商必须启用 MEV-boost,您必须确保已正确安装并配置它与您的信标节点!
不这样做将导致您的 minipool 受到惩罚。
设置备用节点
由于合并不兼容像 Infura 和 Pocket 这样的远程提供商,您将失去在主执行客户端离线时将它们用作备用执行客户端的能力。
Smartnode 仍然能够提供备用执行客户端(现在还有备用共识客户端),但您现在需要使用您控制的执行和共识客户端。
有关设置备用节点的更多信息,请参阅备用节点指南。
初始化您的费用分配器
如果您不打算选择加入 Smoothing Pool 并将所有优先费用和 MEV 奖励索取到您的费用分配器合约,您最终必须初始化它(在链上创建合约实例)以便将奖励从中索取到您的提款地址。
这是一个相当便宜的操作,只需要做一次。
初始化您的费用分配器可以在任何时候完成。 您可以让奖励在其地址中长时间累积,然后再初始化它,您的余额将在初始化后保留。
我们建议您在 gas 价格低时这样做以最小化开销成本。
请注意,必须初始化才能索取您的奖励。选择加入 Smoothing Pool
如果您计划立即利用 Smoothing Pool,您应该在第一个 Redstone 奖励期结束之前选择加入以最大化您的"资格"金额。
可以通过运行以下命令来选择加入:
索取奖励
Redstone 升级用一个全新的系统替换了昂贵的、有问题的旧奖励系统,该系统更便宜,支持 RPL 的自动再质押(部分和全额),最重要的是 - 让您随时索取奖励。
由于不再有索取奖励的时间限制,并且一次索取多个奖励间隔更便宜,Smartnode 的自动奖励索取功能已被移除。 您现在可以通过以下命令索取奖励:
这将显示从 Redstone 升级开始的所有奖励间隔中您累积的所有奖励。