指定备用节点

从Smartnode stack的1.5.0版本开始,您可以提供一对"备用"Execution客户端和Consensus客户端,在您的主客户端离线时接管(例如您使用Geth并需要裁剪它)。 在这种情况下,您的主节点机器仍然负责使用megapool的验证者密钥进行证明和提议区块,但它将连接到外部机器与Execution层和Beacon链交互。

本质上,它允许您临时使用另一对客户端来完成查询链、发送交易和接收要证明的区块等任务。 这对客户端可以是外部管理的(如混合模式),也可以是另一个Rocket Pool节点(另一台暴露了API端口的Docker模式机器,我们将在下面介绍)。

一旦您节点的主客户端重新上线,Smartnode和您的Validator客户端将自动切换回主客户端。

注意

备用节点等同于"备份"节点。 备用节点有一对同步到链并运行的Execution和Consensus客户端,但它们加载您节点的钱包或验证者密钥。

如果您的主节点离线,您的备用节点不会为您开始验证。

支持的客户端

从v1.9.0版本开始,我们支持的所有验证者客户端都添加了备用支持,只有少数限制:

名称支持备用有效的备用客户端
Lighthouse任何(防护复制保护关闭)
Lighthouse(防护复制保护开启)
Nimbus任何
PrysmPrysm
Teku任何
Lodestar任何

设置新节点(Docker模式)

您可以使用本地拥有的第二台机器、托管在VPS上的远程节点或基于云的节点作为备用节点。

此示例向您展示如何使用Docker模式在不同的机器上创建第二个Smartnode,它可以作为备用节点。

提示

如果您已经有第二个节点并且已暴露其RPC端口,请随意跳过本节。

  1. 按照设置节点的指南中的步骤操作(本地远程)。

  2. 一旦机器准备就绪,安装Smartnode stack

  3. 运行rocketpool service config来指定您想使用哪些客户端。

    1. 当您到达向导末尾并询问您是否要查看设置时,选择
    2. 进入Execution Client设置。
    3. 勾选Expose RPC Ports框:
    1. 返回并进入Consensus Client设置。 5. 勾选Expose API Port框(如果您使用Prysm,还需勾选Expose RPC Port框):
    1. 保存设置并启动Smartnode。
  4. 跳转到保护您的节点指南,设置SSH和适当的安全措施。

    1. 如果您安装了ufw,您需要添加规则以允许到API端口的入站流量(默认为854585465052;如果您使用Prysm,还需5053)。
  5. 完成!您可以在这里停止。

注意

不要使用rocketpool wallet init创建钱包或恢复旧钱包。 让此节点保持无钱包和无验证者密钥的状态。

它的唯一工作就是拥有同步的Execution客户端和Consensus客户端。

将主节点连接到备用节点

一旦您准备好备用节点,就可以将其连接到主节点。

  1. 进入rocketpool service config TUI并进入Fallback Clients设置。
  2. 勾选Use Fallback Clients框。
  3. Execution Client URL框中输入您Execution客户端的RPC URL。例如,如果您的备用节点IP地址是192.168.1.45,并且Execution客户端在默认端口8545上,您将在此处输入http://192.168.1.45:8545
  4. 对您的备用Consensus客户端的RPC URL执行相同操作。按照相同的示例,如果它在默认端口5052上,您将在此处输入http://192.168.1.45:5052

最终页面应如下所示:

注意

Native模式用户可以按照相同的步骤操作,尽管TUI看起来会与上面的截图略有不同。

请注意,这只会为Smartnode本身(守护进程服务)提供备用支持;您必须手动更新Validator客户端服务的参数才能让它访问备用客户端。

在最后一个框上按enter以确保它已确认,然后保存设置并应用更改。

应用更改后,您可以使用rocketpool node sync命令确认备用节点的可用性:

Your Smartnode is currently using the Ethereum Mainnet.

Your eth2 client is on the correct network.

Your primary execution client is fully synced.
Your fallback execution client is fully synced.
Your primary consensus client is fully synced.
Your fallback consensus client is fully synced.

如果显示备用Execution和Consensus客户端都已同步,那么您就一切就绪了!

测试备用客户端

如果您想通过测试备用客户端来绝对确保您的配置将正常工作,只需停止主节点上的Execution和Consensus客户端:

docker stop rocketpool_eth1 rocketpool_eth2

然后运行任何查询链的命令,例如rocketpool network stats。 您将在顶部看到一条警告消息,指示您的一个(或两个)主客户端离线,并且它正在恢复到备用客户端:

NOTE: primary clients are not ready, using fallback clients...
 Primary EC status: unavailable (Sync progress check failed with [Post "http://eth1:8545": dial tcp: lookup eth1 on 127.0.0.11:53: no such host])
 Primary CC status: unavailable (Sync progress check failed with [Could not get node sync status: Get "http://eth2:5052/eth/v1/node/syncing": dial tcp: lookup eth2 on 127.0.0.11:53: no such host])

========== General Stats ==========
Total Value Locked:          1196.926316 ETH
Deposit Pool Balance:        23.586761 ETH
Minipool Queue Demand:       0.000000 ETH
Deposit Pool ETH Used:       6.809609%

============== Nodes ==============
Current Commission Rate:     5.000000%
Node Count:                  16
Active Minipools:            36
    Initialized:             0
    Prelaunch:               0
    Staking:                 36
    Withdrawable:            0
    Dissolved:               0
Finalized Minipools:         30

=========== Megapools ============
Megapool contracts deployed: 10
Total megapool validators:  86
     Staking:                51
     In Prestake:            6
     In Queue:               10
     Exited:                 14
     Locked:                 1
     Exiting:                2
     Dissolved:              2

========== Smoothing Pool =========
Contract Address:            0xE8D1136ac49DBe6ac8f299130253004DC63841a1
Nodes Opted in:              3
Pending Balance:             0.000000

============== Tokens =============
rETH Price (ETH / rETH):     1.185477 ETH
RPL Price (ETH / RPL):       0.000639 ETH
Total RPL staked:            33406.127068 RPL
Total Megapool RPL staked:   11406.127068 RPL
Total Legacy RPL staked:     22000.000000 RPL

最后,再次启动您的主客户端:

docker start rocketpool_eth1 rocketpool_eth2

完成! 您的备用设置正在工作。

下一步

无论您是否选择为您的设置创建和/或运行备用节点,下一步是了解优先费。 当您准备好继续时,单击指南的下一部分。