Запуск Rocket Pool

На этом этапе у вас должна быть запущена полная инфраструктура Rocket Pool, включая стек Smartnode, клиенты Execution и Consensus. Вы также должны были укрепить свою операционную систему от внешних атак. Если вы выполнили оба этих шага, вы готовы создать ноду Rocket Pool и начать стейкинг. Если нет, пожалуйста, просмотрите предыдущие разделы и вернитесь сюда после выполнения этих шагов.

Запуск и остановка сервисов Rocket Pool

Режим Docker (по умолчанию)
Гибридный режим
Нативный режим

Теперь, когда у вас установлен Smartnode, запустить стек легко. Просто введите следующую команду:

rocketpool service start

Эта команда создаст все необходимые образы Docker, если они еще не существуют, убедится, что сеть Docker Rocket Pool и тома хранения были инициализированы, и обновит любые контейнеры, если они больше не соответствуют настройкам конфигурации из интерфейса rocketpool service config.

В первый раз вывод должен выглядеть так:

$ 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 для основной сети Ethereum или для тестовой сети Hoodi.

ПРИМЕЧАНИЕ

Для пользователей Docker / Гибридного режима: Если вы не находитесь в сети, которую ожидаете, вернитесь к разделу "Установка Rocket Pool" и просмотрите инструкции по установке - возможно, вы пропустили часть, которая имеет различные инструкции в зависимости от того, какую сеть вы хотите использовать.

Для пользователей нативного режима: Если вы приняли настройки по умолчанию при первом запуске rp service config, то возможно, что сеть, указанная здесь, неверна. Просто переключите ее в TUI rp service config, в разделе Smartnode, на правильную сеть и перезапустите свои сервисы node и watchtower.

Второй набор строк сообщит вам, какие клиенты вы используете и какие их версии определены в конфигурации 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 в качестве клиента Consensus, вы, вероятно, заметите, что контейнер rocketpool_validator постоянно перезапускается. Это нормально! Контейнер валидатора будет давать сбой до тех пор, пока не будет создан новый валидатор с помощью команды rocketpool node deposit, которую мы рассмотрим в разделе Создание минипула (валидатора). После этого контейнер будет работать правильно - до тех пор просто игнорируйте это.

Тем не менее, может быть полезно проверить логи различных сервисов.

Чтобы проверить логи, используйте команду rocketpool service logs container, где container - это один из eth1, eth2, validator, api, node или watchtower.

Например, чтобы проверить логи для вашего клиента 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

Вы должны сделать это как для eth1, так и для eth2, чтобы убедиться, что оба клиента работают без ошибок.

СОВЕТ

Когда вы закончите просмотр логов, вы можете выйти и вернуться к командной строке, используя Ctrl + C.

Ожидание синхронизации ваших клиентов ETH

Теперь, когда ваши клиенты запущены, вы захотите подождать, пока ваши клиенты Execution и Consensus завершат синхронизацию с сетью, прежде чем продолжить.

Один простой способ проверить их статус - с помощью следующей команды:

rocketpool node sync

Эта команда покажет, насколько далеко продвинулись ваши клиенты Execution и Consensus в процессе синхронизации, примерно так:

$ 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 eth1 и rocketpool service logs eth2 соответственно (или эквивалентные команды скрипта логирования, если вы используете гибридный / нативный режимы.) Каждый клиент обычно предоставляет ETA статуса синхронизации в своем выводе логов.

ПРИМЕЧАНИЕ

Полная синхронизация как ETH1, так и ETH2 может занять дни в зависимости от выбора клиента и аппаратного профиля вашей машины. Это ожидается. Расслабьтесь и подождите, пока оба они завершатся.

ПРИМЕЧАНИЕ

Если ваша нода вообще не синхронизируется или не имеет пиров, это может быть потому, что ваш роутер блокирует порты 30303 и 9001. Если они закрыты, вам нужно будет настроить перенаправление портов на вашем роутере. Также убедитесь, что ваша нода имеет статический локальный IP-адрес, чтобы перенаправление портов не сломалось из-за того, что ваша нода получила новый адрес.

Следующие шаги

После того, как ваши клиенты синхронизированы, вы готовы либо создать новый кошелек, если это ваша первая нода, либо восстановить существующий кошелек, если вы восстанавливаетесь из резервной копии или мигрируете от другого провайдера, такого как Allnodes, на свое собственное оборудование.

Выберите, о чем вы хотите узнать больше, и следуйте шагам в соответствующем руководстве.