[Нативный режим] Руководство по обновлению Redstone и Слиянию

Это руководство охватывает все, что вам нужно знать для подготовки вашей ноды к обновлению Redstone и Слиянию, если вы используете нативный режим.

Что нужно сделать перед обновлением до v1.5.0

Перед обновлением до v1.5.0 и выше Smartnode, пожалуйста, пройдите следующий контрольный список, чтобы убедиться, что вы готовы:

Переключитесь на полный Execution-клиент

Слияние требует, чтобы вы запускали свой собственный Execution-клиент, поэтому вы больше не сможете использовать удаленные провайдеры, такие как Infura или Pocket.

Из-за этого изменения, если вы в настоящее время используете легкий Execution-клиент, вам следует переключиться на полный клиент, пока вы еще на v1.4, дождаться его полной синхронизации, а затем обновиться до v1.5.

Настройте Engine API

Слияние меняет способ взаимодействия вашего Execution-клиента с вашим Consensus-клиентом. Вместо использования старой системы RPC на основе HTTP или Websocket, Слияние требует новой системы, предоставляемой вашим Execution-клиентом, называемой Engine API.

Это специальное соединение, которое позволяет Consensus-клиенту заменить старую систему майнинга Proof-of-Work на Proof-of-Stake; это сердце Слияния. Оно также аутентифицировано секретным токеном, поэтому только ваш Consensus-клиент может подключаться к вашему Execution-клиенту - больше ничто не может.

Поскольку вы управляете своими собственными Execution- и Consensus-клиентами, вам нужно будет настроить Engine API вручную. Как это сделать, полностью зависит от того, какие клиенты вы используете.

CoinCashew имеет отличное и краткое руководство о том, как настроить Engine API на ваших Execution- и Consensus-клиентах. Взгляните на это и протестируйте новую конфигурацию, убедившись, что она по-прежнему аттестует правильно перед обновлением.

Мы покажем вам, как настроить ваш Validator-клиент так, чтобы он использовал правильного получателя комиссий, требуемого программным обеспечением Smartnode, автоматически ниже.

Обновление до v1.5.0

Обновление стека Smartnode до v1.5.0 ничем не отличается от любого другого обновления. Просто следуйте обычным инструкциям здесь.

Что вам следует сделать после обновления

В нативном режиме есть несколько вещей, которые вам нужно будет сделать вручную после обновления:

Убедитесь в успешном обновлении

Первое, что нужно сделать, это убедиться, что ваша нода работает правильно. Рассмотрите следующие шаги:

  • Проверьте ваши скрипты логов для Execution-клиента, Consensus-клиента, Validator-клиента и демона Smartnode (сервис rp-node), чтобы убедиться, что все они функционируют нормально без ошибок.
  • Подтвердите с помощью Block Explorer (такого как ваша панель Grafana и https://beaconcha.in), что вы все еще аттестуете правильно
    • Помните, что если у вас включена защита Doppelganger, вы пропустите несколько аттестаций после перезапуска. Это нормально!

Настройте получателя комиссий в вашем Validator-клиенте

Одной из критических деталей для настройки перед Слиянием является получатель комиссий, указанный вашим validator-клиентом. Как описано в обзорной статье, это может быть одно из двух значений:

  • Если вы присоединились к Smoothing Pool, это должен быть адрес контракта Smoothing Pool. Вы можете получить адрес со страницы официальных контрактов.
  • Если вы не в Smoothing Pool, это должен быть адрес контракта распределителя комиссий вашей ноды. Вы можете получить адрес, запустив rocketpool node status, в разделе Fee Distributor and Smoothing Pool.

В нативном режиме у вас есть выбор: позволить Smartnode управлять этим за вас, если вы используете сервис демона Smartnode, rp-node, или управлять им самостоятельно, если вы не используете демон.

Автоматическое управление через демон

Демон Smartnode автоматически определит подходящего получателя комиссий для вашей ноды и будет управлять им в случае изменения (например, присоединение и выход из Smoothing Pool). Это самый безопасный вариант, потому что Smartnode всегда будет гарантировать, что он установлен на значение, которое предотвращает штрафы.

Способ, которым он это делает, заключается в поддержании файла с правильным получателем комиссий в нем и регулярном обновлении его для обеспечения его корректности. Когда его нужно обновить, он изменяет файл и автоматически перезапускает ваш Validator-клиент, чтобы он загрузил нового получателя - аналогично тому, как он перезапускает ваш Validator-клиент после стейкинга нового minipool.

Выберите ваш клиент ниже, чтобы узнать, как его настроить:

Lighthouse
Nimbus
Prysm
Teku

Измените ваш сервис Validator Client, добавив следующую строку перед строкой ExecStart:

EnvironmentFile=`data dir`/validators/rp-fee-recipient-env.txt

Например:

EnvironmentFile=/srv/rocketpool/data/validators/rp-fee-recipient-env.txt

Затем добавьте следующий аргумент командной строки в конец вашей строки ExecStart:

--suggested-fee-recipient ${FEE_RECIPIENT}

Ваш VC теперь будет использовать файл, управляемый демоном Smartnode, и будет автоматически перезапускаться при изменении получателя комиссий.

Ручное управление получателем комиссий

ПРЕДУПРЕЖДЕНИЕ

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

Пожалуйста, прочитайте спецификацию штрафов, чтобы понять, на что он должен быть установлен с учетом вашей конфигурации, и когда вы можете безопасно изменить его с одного значения на другое.

Несоблюдение этого может привести к штрафам для ваших minipools!

До развертывания Redstone вы можете просто использовать адрес rETH для сети, в которой вы находитесь (который можно найти на странице официальных контрактов). Адрес rETH всегда безопасен, независимо от обстоятельств.

После развертывания Redstone вы можете увидеть точный адрес, который вы должны установить в качестве получателя комиссий, с помощью rocketpool node status. Например, если вы присоединились к Smoothing Pool, он покажет адрес Smoothing Pool и отметит, что вы должны использовать его в качестве получателя комиссий:

Если вы не присоединились к Smoothing Pool, он покажет адрес вашего распределителя комиссий и отметит, что вы должны использовать его в качестве получателя комиссий:

Выберите ваш Consensus-клиент ниже, чтобы узнать, как его настроить.

Lighthouse
Nimbus
Prysm
Teku

Добавьте следующий аргумент командной строки в файл определения сервиса вашего Validator Client:

--suggested-fee-recipient `address`

Где address это:

  • Адрес rETH до развертывания обновления Redstone (например, 0xae78736Cd615f374D3085123A210448E74Fc6393 на Mainnet)
  • Ваш распределитель комиссий ноды после развертывания Redstone, который вы можете получить с помощью rocketpool node status после обновления контракта
  • Адрес Smoothing Pool, если вы присоединились к Smoothing Pool

В качестве напоминания, rocketpool node status покажет вам правильного получателя комиссий для использования в любое время.

Пожалуйста, внимательно прочитайте спецификацию штрафов, чтобы понять условия и ожидания в отношении получателя комиссий.

Настройте MEV-Boost

MEV-boost - это система, которую предоставляет Flashbots для передачи MEV-вознаграждений валидаторам Proof-of-Stake после Слияния.

Rocket Pool требует, чтобы все ноды использовали его для максимизации своей прибыли и, таким образом, поддержания конкурентоспособности протокола с другими сервисами стейкинга.

Вам нужно будет внести некоторые изменения в ваш Beacon Node / Consensus-клиент, чтобы подключить его к MEV-boost.

MEV-boost в настоящее время недоступен в Hoodi или Mainnet, поэтому вам не нужно настраивать его в данный момент. Конечно, вы не будете оштрафованы за его неиспользование в течение этого переходного периода.

Как только он станет доступен, мы объявим дату, к которой он должен быть установлен и подключен к вашей ноде. Flashbots предоставит инструкции, которым вы сможете следовать в то время, и мы дадим на них ссылку здесь.

ПРИМЕЧАНИЕ

После того, как мы объявим, что MEV-boost должен быть включен всеми операторами нод, вы должны убедиться, что он правильно установлен и настроен с вашим Beacon Node!

Невыполнение этого приведет к штрафу для вашего minipool.

Настройте резервную ноду

Поскольку Слияние несовместимо с удаленными провайдерами, такими как Infura и Pocket, вы потеряете возможность использовать их в качестве резервных Execution-клиентов, когда ваш основной отключается.

Smartnode по-прежнему имеет возможность предоставить резервный Execution-клиент (и теперь также резервный Consensus-клиент), но теперь вам нужно будет использовать Execution- и Consensus-клиенты, которые вы контролируете.

Для получения дополнительной информации о настройке резервной ноды см. руководство по резервной ноде.

Инициализируйте ваш распределитель комиссий

Если вы не планируете присоединяться к Smoothing Pool и требовать все свои приоритетные комиссии и MEV-вознаграждения в ваш контракт распределителя комиссий, вам в конечном итоге придется инициализировать его (создать экземпляр контракта в цепочке), чтобы получить вознаграждения от него на ваш адрес для вывода.

Это довольно дешевая операция, которую нужно выполнить только один раз.

СОВЕТ

Инициализация вашего распределителя комиссий может быть выполнена в любое время. Вы можете позволить вознаграждениям накапливаться по его адресу задолго до его инициализации, и ваш баланс останется после инициализации.

Мы рекомендуем вам сделать это, когда цены на газ низкие, чтобы минимизировать накладные расходы.

Обратите внимание, что он должен быть инициализирован, чтобы получить ваши вознаграждения.

Присоединитесь к Smoothing Pool

Если вы планируете сразу воспользоваться преимуществами Smoothing Pool, вам следует присоединиться до конца первого периода вознаграждений Redstone, чтобы максимизировать ваше количество "права на участие".

Присоединение можно выполнить, запустив следующую команду:

rocketpool node join-smoothing-pool

Получите вознаграждения

Обновление Redstone заменяет дорогую, проблемную старую систему вознаграждений совершенно новой, которая намного дешевле, поддерживает автоматический рестейкинг RPL (как частичные, так и полные суммы), и - что наиболее важно - позволяет вам получать свои вознаграждения, когда захотите.

Поскольку больше нет ограничения по времени на получение вознаграждений, и поскольку дешевле получать много интервалов вознаграждений сразу, функция автоматического получения вознаграждений Smartnode была удалена. Теперь вы сможете получать вознаграждения с помощью следующей команды:

rocketpool node claim-rewards

Это покажет вам все вознаграждения, которые вы накопили за все интервалы вознаграждений, начиная с обновления Redstone.