Контрольный список валидатора

Этот контрольный список поможет вам понять роль валидатора и подготовит вас к данной роли.Посетите EthStaker на Discord или Reddit в любой момент во время вашей настройки для получения дружеской помощи!

Часть 1 - Перед началом работы

Просмотрите этот раздел, прежде чем продолжить настройку валидатора.

Отказ от ответственности за рекомендации

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

Жесткий диск

  • Вам необходимо запустить оба своих клиента: клиент-исполнитель и консенсус-клиент.
  • С момента слияния сторонние поставщики (такие как Infura и Alchemy) больше не являются приемлемыми вариантами для аутсорсинга обязанностей слоя иполнения. Все дольщики должны запускать как клиента-исполнителя, так и консенсус-клиента, чтобы пройти аттестацию для сети.
  • По состоянию на май 2022 г. вам понадобится ~1 ТБ только для данных цепочки выполнения основной сети (с ростом > 1 ГБ в день).
  • Датой появления Ethereum стало 30 июля 2015 года. Со временем сеть росла, и внедрение шардинга также увеличит требования к хранению, памяти и пропускной способности.
  • Вам понадобится накопитель SSD для постоянного поддержания требуемой скорости чтения/записи данных.
  • Обязательно убедитесь, что у вас достаточно места на диске до тех пор, пока вы не выполните обслуживание на узле.

ЦП и ОЗУ

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

Интернет

  • В идеале ваше подключение к Интернету должно быть надежным и как можно ближе к 24/7 без прерываний.
  • Убедитесь, что ваша пропускная способность не может быть уменьшена и не ограничена, чтобы ваш узел оставался синхронизированным и был готов к валидации при вызове.
  • Вам также нужна достаточная пропускная способность для выгрузки данных. На май 2022 г. это скорость загрузки ~1,2–1,3 ГБ и скорость выгрузки ~0,9–1 ГБ в час. Со временем требования, вероятно, будут расти.

Заметки

  • Избегайте слишком сложных конфигураций и помните про оборотную сторону. Отсутствие в сети в течение коротких промежутков времени приведет к мелким штрафам за бездействие, но после возвращения в сеть баланс восстановится приблизительно за это же время. Сложные резервные источники питания могут повысить стоимость вашей конфигурации, а избыточные резервные валидаторы могут привести к более серьезному наказанию — слэшированию. Подробнее о рисках, связанных со слэшированием
  • Синхронизация вашего клиента-исполнителя в худшем случае может занять несколько дней.

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

Начальная настройка

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

Безопасность узла

Клиент-исполнительПорт по умолчанию
Nethermind30303 TCP/UDP
Geth30303 TCP/UDP
Besu30303 TCP/UDP
Erigon30303 TCP/UDP
Консенсус-клиентПорт по умолчанию
Teku9000 TCP/UDP
Lighthouse9000 TCP/UDP
Nimbus9000 TCP/UDP
Prysm13000 TCP, 12000 UDP
Подробнее о портах в сети

Настройка синхронизации времени

Для Ubuntu 20.04
  • Выполните следующую команду:
    timedatectl
  • Убедитесь, что NTP Service является active.
  • Убедитесь, что Local time, Time zone и Universal time верны.
  • Если NTP Service не active, запустите:
    sudo timedatectl set-ntp on
  • Если вы видите сообщение об ошибке Failed to set ntp: NTP not supported, вам может потребоваться установить пакет chrony или ntp.
  • Примечание: по умолчанию ВМ могут отключить NTP, поэтому вам может потребоваться найти способ обойти это для вашего окружения.
  • Примечание: время RTC (Real-Time Clock) может быть установлено в вашем локальном часовом поясе вместо UTC, особенно в ВМ с настроенными часами в Windows.

Практика в testnet

Мы настоятельно рекомендуем вам выполнить эти шаги в текущей тестовой сети перед основной. Goerli

Настройте свой клиент-исполнитель

Рассмотрение ролей и обязанностей валидатора

Помните

Все дольщики должны обеспечивать взаимодействие клиентов-исполнителей с консенсус-клиентами.

Рекомендуется

Discord: Nethermind | Geth | Besu | Erigon

Настройте свой консенус-клиент

Предупреждение!

Запускать валидатор в нескольких местах очень опасно. Это приведет к слешированию события и выбросу из сети. Подробнее о рисках, связанных со слэшированием

Рекомендуется

Discord: Teku | Lighthouse | Nimbus | Prysm

Аутентификация JWT

Коммуникация между слоями исполнения и консенсуса происходит с помощью API движка. Это набор методов JSON RPC, который можно использовать для связи между клиентами двух слоев.Эта коммуникация защищена с помощью секрета JWT — секретного ключа, который передается только между двумя клиентами для их взаимной аутентификации. Этот общий секрет JWT необходимо обязательно сделать доступным обоим клиентам (и клиентам-исполнителям, и консенсус-клиентам), чтобы надлежащим образом позволить этим клиентам эффективно поддерживать связь между собой.JWT-документы по консенсусу: Lighthouse | Nimbus | Prysm | TekuДокументация исполнения JWT: Besu | Erigon | Geth | Nethermind

Настройка адреса для снятия средств

Дольщики должны задать адрес для вывода средств, чтобы разблокировать выплату вознаграждений со слоя консенсуса. Он задается при генерации ваших ключей валидатора.
Если вы не предоставите адрес для снятия средств до размещения депозита, вам потребуется выполнить дополнительный шаг, чтобы обновить ключи и активировать снятие средств. На это время средства будут заблокированы.
Подробнее о снятии средств при стейкинге

Выбор получателя комиссии

Дольщики должны предоставить адрес получателя комиссии своему консенсус-клиенту, чтобы получать вознаграждения от комиссий за транзакции. Это обычный адрес Ethereum, которым вы пользовались.
Если вы не предоставите адрес клиенту, то не получите комиссию за транзакцию, когда валидатор предложит блоки.
Инструкции по установке для конкретного клиента см. в документации своего консенсус-клиента.Документы получателя комиссии: Lighthouse | Nimbus | Prysm | Teku

Узел Beacon консенсус-леера (BN)

Требуется

  • Проверьте это следующей командой и убедитесь в том, что она выведет версию клиента правильно:
    curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://<YourServerLocation>:8545
  • Убедитесь, что в вашем узле более 20 участников.

Клиент валидатора консенсус-леера (VC)

Требуется

Раздел 3 - После внесения депозитаЗащитите свои средства с помощью программного обеспечения для мониторинга и научитесь работать с различными сценариями реального мира.

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

Мониторинг

Монитор Prometheus и Grafana

Клиенты поддерживают Prometheus и Grafana, чтобы помочь вам визуализировать важные показатели вашего валидатора в реальном времени.Документы по мониторингу: Lighthouse | Nimbus | Prysm | Teku

Симуляции Testnet

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

Расширенная системная архитектура

  • Чтобы избежать раскрытия идентификатора вашего валидатора, вы можете использовать надежный VPN, чтобы уменьшить риск раскрытия вашего IP-адреса.
  • Кроме того, вы можете установить ваш клиент валидатора (VC) и узел Beacon (BN) на отдельных машинах и IP-адресах таким образом, чтобы даже если ваш узел Beacon является уязвимым, ваше хранилище ключей хранится на другой машине.

Граффити

Вы можете использовать граффити вашего клиента валидатора, чтобы придать отличительные черты предлагаемым блокам (некоторый текст по вашему выбору). Вы сможете увидеть его, используя программы для просмотра блокчейна Beaconcha.in или BeaconScan.
Если у вас есть вопросы, сообщество EthStaker всегда готово помочь! Вы можете получить помощь на Discord или Reddit.