启动 Rocket Pool

此时,您应该已经运行了完整的 Rocket Pool 基础设施,包括 Smartnode 堆栈、执行层和共识层客户端。 您还应该已经加固了操作系统以防御外部攻击者。 如果您完成了这两个步骤,就可以创建 Rocket Pool 节点并开始质押了。 如果还没有,请回顾前面的部分,完成这些步骤后再返回这里。

启动和停止 Rocket Pool 服务

Docker(默认)模式
混合模式
原生模式

现在您已安装 Smartnode,启动堆栈很简单。 只需输入以下命令:

rocketpool service start

此命令将创建所有必要的 Docker 镜像(如果它们不存在),确保已初始化 Rocket Pool docker 网络和存储卷,并在容器不再与 rocketpool service config 的 UI 中的配置设置匹配时更新它们。

第一次执行时,输出应该是这样的:

$ rocketpool service start

Creating network "rocketpool_net" with the default driver
Creating volume "rocketpool_eth1clientdata" with default driver
Creating volume "rocketpool_eth2clientdata" with default driver
Creating rocketpool_eth1 ...
Creating rocketpool_eth1 ... done
Creating rocketpool_eth2 ...
Creating rocketpool_api  ...
Creating rocketpool_api  ... done
Creating rocketpool_eth2 ... done
Creating rocketpool_watchtower ...
Creating rocketpool_mev-boost   ...
Creating rocketpool_mev-boost   ... done
Creating rocketpool_node       ...
Creating rocketpool_validator  ...
Creating rocketpool_validator  ... done
Creating rocketpool_node       ... done
Creating rocketpool_watchtower ... done

如果是这样,那么 Smartnode 堆栈已成功初始化并正在运行。

如果您需要停止服务(例如,在升级期间或因为需要进行维护),可以使用 rocketpool service stop 关闭所有服务。 输出应该是这样的:

$ rocketpool service stop

Are you sure you want to pause the Rocket Pool service? Any staking minipools will be penalized! [y/n]
y

Stopping rocketpool_node       ...
Stopping rocketpool_validator  ...
Stopping rocketpool_watchtower ...
Stopping rocketpool_mev-boost  ...
Stopping rocketpool_eth2       ...
Stopping rocketpool_api        ...
Stopping rocketpool_eth1       ...
Stopping rocketpool_validator  ... done
Stopping rocketpool_node       ... done
Stopping rocketpool_watchtower ... done
Stopping rocketpool_api        ... done
Stopping rocketpool_mev-boost  ... done
Stopping rocketpool_eth2       ... done
Stopping rocketpool_eth1       ... done

注意

调用此命令后,Rocket Pool 不会在系统重启后自动启动。 您必须调用 rocketpool service start 来启动所有 Docker 容器并再次启用重启时自动启动。

确认正确的版本和网络

容器或服务启动后,第一步是确认您拥有正确版本的客户端并且在您期望的网络上。 您可以使用以下命令执行此操作:

rocketpool service version

输出将如下所示**(请注意,您可能拥有比此处显示的更新的版本,这只是一个示例)**:

Your Smartnode is currently using the Ethereum Mainnet.

Rocket Pool client version: 1.6.4
Rocket Pool service version: 1.6.4
Selected Eth 1.0 client: Geth (Locally managed)
Image: ethereum/client-go:v1.10.25
Selected Eth 2.0 client: Lighthouse (Locally managed)
Image: sigp/lighthouse:v3.1.0

第一行将告诉您 Smartnode 是配置为以太坊主网还是 Hoodi 测试网。

注意

对于 Docker / 混合模式用户: 如果您不在您期望的网络上,请返回安装 Rocket Pool 部分并查看安装说明 - 您可能错过了根据要使用的网络而有不同说明的部分。

对于原生模式用户: 如果您在首次运行 rp service config 时接受了默认设置,那么此处报告的网络可能不正确。 只需在 rp service config TUI 的 Smartnode 部分中将其切换到正确的网络,然后重启 nodewatchtower 服务。

第二组行将告诉您正在使用哪些客户端,以及 Rocket Pool 配置中定义的版本。

检查服务状态和日志

现在 Smartnode 服务已启动,最好检查它们是否正常运行而没有错误。

Docker(默认)模式
混合模式
原生模式

首先要检查的是 Docker 容器是否运行良好,还是由于错误而不断重启。 运行以下命令:

docker ps

结果应该是这样的:

CONTAINER ID   IMAGE                         COMMAND                  CREATED       STATUS      PORTS                                                                                                         NAMES
4c1de08a352b   prom/prometheus:v2.37.0       "/bin/prometheus --w…"   9 days ago    Up 9 days   9090/tcp                                                                                                      rocketpool_prometheus
56940decdd1f   sigp/lighthouse:v2.5.1        "sh /setup/start-bn.…"   9 days ago    Up 9 days   0.0.0.0:9001->9001/tcp, 0.0.0.0:9001->9001/udp, :::9001->9001/tcp, :::9001->9001/udp                          rocketpool_eth2
bd061e632535   grafana/grafana:8.5.9         "/run.sh"                9 days ago    Up 9 days   3000/tcp, 0.0.0.0:3100->3100/tcp, :::3100->3100/tcp                                                           rocketpool_grafana
5c4db92762fb   ethereum/client-go:v1.10.21   "sh /setup/start-ec.…"   9 days ago    Up 9 days   8545-8546/tcp, 0.0.0.0:30303->30303/tcp, 0.0.0.0:30303->30303/udp, :::30303->30303/tcp, :::30303->30303/udp   rocketpool_eth1
e20c560861fc   rocketpool/smartnode:v1.5.0   "/bin/sleep infinity"    9 days ago    Up 9 days                                                                                                                 rocketpool_api
4cf8d364fb90   rocketpool/smartnode:v1.5.0   "/go/bin/rocketpool …"   9 days ago    Up 9 days                                                                                                                 rocketpool_watchtower
9eb944c29997   rocketpool/smartnode:v1.5.0   "/go/bin/rocketpool …"   9 days ago    Up 9 days                                                                                                                 rocketpool_node
2ca5d3dcb471   sigp/lighthouse:v2.5.1        "sh /setup/start-vc.…"   9 days ago    Up 9 days                                                                                                                 rocketpool_validator
dedc577fe361   prom/node-exporter:v1.3.1     "/bin/node_exporter …"   2 weeks ago   Up 9 days                                                                                                                 rocketpool_exporter

要检查的关键是 STATUS 列。 如果没有条目显示 Restarting...,那么容器应该正常运行(有关 rocketpool_validator 容器的例外情况,请参见下面的注意事项)。

注意

如果您使用 Prysm 或 Lodestar 作为共识层客户端,您可能会注意到 rocketpool_validator 容器不断重启。 这没关系! 验证者容器将失败,直到使用 rocketpool node deposit 命令创建了新的验证者,我们将在创建 Minipool(验证者)部分介绍。 完成后,容器将正常运行 - 在此之前,请忽略它。

不过,检查各种服务的日志可能仍然有用。

要检查日志,请使用 rocketpool service logs container 命令,其中 containereth1eth2validatorapinodewatchtower 之一。

例如,要检查 ETH1 客户端的日志:

$ rocketpool service logs eth1

Attaching to rocketpool_eth1
eth1_1        | INFO [06-17|05:17:19.052] Imported new block receipts              count=25   elapsed=26.651ms    number=247,000   hash=6583ec..35eb1c age=2y3mo2w  size=15.72KiB
eth1_1        | INFO [06-17|05:17:19.098] Imported new block headers               count=192  elapsed=18.515ms    number=247,551   hash=b7d5e4..d49faf age=2y3mo2w
eth1_1        | INFO [06-17|05:17:19.334] Imported new block receipts              count=371  elapsed=46.450ms    number=247,371   hash=dd3240..1ed173 age=2y3mo2w  size=266.59KiB
eth1_1        | INFO [06-17|05:17:19.354] Imported new state entries               count=1271 elapsed=2.866ms     processed=374,695 pending=3134  trieretry=0   coderetry=0  duplicate=0 unexpected=0
eth1_1        | INFO [06-17|05:17:19.441] Imported new block headers               count=384  elapsed=35.331ms    number=247,935   hash=4c4dba..5bf8b6 age=2y3mo2w
eth1_1        | INFO [06-17|05:17:19.460] Imported new block receipts              count=180  elapsed=33.648ms    number=247,551   hash=b7d5e4..d49faf age=2y3mo2w  size=128.73KiB
eth1_1        | INFO [06-17|05:17:19.480] Imported new block headers               count=192  elapsed=19.122ms    number=248,127   hash=aa70b9..40d139 age=2y3mo1w
eth1_1        | INFO [06-17|05:17:19.486] Imported new block receipts              count=6    elapsed=26.042ms    number=247,557   hash=fd6656..ca2439 age=2y3mo2w  size=3.77KiB

您应该对 eth1eth2 都执行此操作,以确保两个客户端都在没有任何错误的情况下运行。

提示

查看完日志后,可以使用 Ctrl + C 退出并返回命令提示符。

等待 ETH 客户端同步

现在您的客户端已启动,您需要等到执行层和共识层客户端完成与网络的同步后再继续。

检查其状态的一种简单方法是使用以下命令:

rocketpool node sync

此命令将显示执行层和共识层客户端在同步过程中的进度,类似于:

$ rocketpool node sync

Your Smartnode is currently using the Hoodi Test Network.

Your eth2 client is on the correct network.

Your primary execution client is fully synced.
You do not have a fallback execution client enabled.
Your consensus client is still syncing (99.69%).

您可以偶尔调用此命令来跟踪客户端的进度。

要获得同步时间的实际 ETA,最简单的方法是分别使用 rocketpool service logs eth1rocketpool service logs eth2 查看客户端的日志(或者如果您使用混合/原生模式,则使用等效的日志脚本命令)。 每个客户端通常在其日志输出中提供同步状态的 ETA。

注意

根据您的客户端选择和机器的硬件配置,完全同步 ETH1 和 ETH2 可能需要数天时间。 这是正常的。 坐下来,放松,等待它们全部完成。

注意

如果您的节点根本不同步或没有对等节点,可能是因为您的路由器阻止了端口 30303 和 9001。如果它们被关闭,您需要在路由器上设置端口转发。此外,请确保您的节点具有静态本地 IP 地址,以便端口转发不会因节点获得新地址而中断。

下一步

客户端同步完成后,如果这是您的第一个节点,您可以创建新钱包,或者如果您要从备份恢复或从 Allnodes 等其他提供商迁移到自己的硬件,则可以恢复现有钱包

选择您想了解更多的内容,并按照相应指南中的步骤操作。