Полный консенсусный узел

Полные консенсусные узлы позволяют синхронизировать историю блокчейна на уровне консенсуса Sunrise.

Обновления цепи

Для оптимизации обновлений цепочки и минимизации простоев вы можете настроить Cosmovisorarrow-up-right для управления вашим узлом.

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

DAEMON_ALLOW_DOWNLOAD_BINARIES=true

Резервные копии

Если вы используете последнюю версию Cosmovisor, то конфигурация по умолчанию заключается в том, что резервная копия состояния будет создана перед применением обновлений. Это можно отключить с помощью флагов средыarrow-up-right .

Оповещение и мониторинг

Оповещение и мониторинг также желательны — вам предлагается изучить решения и найти то, которое подходит для вашей установки. Prometheus доступен из коробки, и существует множество инструментов с открытым исходным кодом.

Требования к оборудованию

Для запуска узла-валидатора рекомендуются следующие минимальные требования к оборудованию:

  • Память: 8 ГБ ОЗУ (минимум)

  • Процессор: 4 ядра

  • Диск: SSD-накопитель емкостью 250 ГБ

  • Пропускная способность: 1 Гбит/с для загрузки/1 Гбит/с для загрузки

Если вы не используете обрезку, вы используете архивный узел, и рекомендуется иметь 500 ГБ SSD-хранилища.

Зависимости

Учебник сделан на Ubuntu 22.04 (LTS). Следуйте руководству по окружениюarrow-up-right

Запустите полный консенсусный узел

Установить

Установить Goarrow-up-right 1.22

circle-info

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

Более подробную информацию смотрите в документации по обновлению .arrow-up-right

Инициализировать

Set chain-id& moniker. moniker— это просто имя вашего узла.

Это приведет к созданию следующих файлов в~/.sunrise/config/

  • genesis.json

  • node_key.json

  • priv_validator_key.json

Загрузить файл генезиса

Проверьте genesis.jsonтекущую запущенную сеть на нашем Githubarrow-up-right

Пример: Для основной сети:

Установить минимальные цены на газ

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

В $HOME/.sunrise/config/app.toml, установить минимальные цены на газ:

circle-info

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

Вариант: Установить сиды и постоянные пиры

  • Сиды

«Seeds» предоставляет список других валидаторов, к которым должен изначально подключиться новый присоединяющийся валидатор. После того, как валидатор подключается к сети, он в первую очередь полагается persistent_peersна соединения, снижая важность seeds.

Пиры

"Persistent Peers" — это список доверенных валидаторов, с которыми валидатор должен поддерживать соединения в любое время. Соединения с валидаторами, перечисленными в persistent_peers, имеют приоритет для поддержания стабильности сети.

Вариант: Дополнительные настройки

При необходимости отредактируйте файлы конфигурации.$HOME/.sunrise/config/app.toml

  • Enable определяет, следует ли включить сервер API.

EnableUnsafeCORS определяет, следует ли включать CORS (небезопасно — используйте на свой страх и риск).

По умолчанию RPC и REST не являются общедоступными, поэтому, если вы хотите сделать узел общедоступным, выполните следующие настройки:

Конфигурации хранения и обрезки

Если ваш консенсусный узел подключается к мостовому узлу sunrise-node, вам нужно включить индексацию транзакций и сохранить все данные блоков. Это можно сделать с помощью следующих настроек в config.toml.

Включить индексацию транзакций

Сохранить все данные блока

А в app.toml, min-retain-blocksследует оставить настройку по умолчанию:

Доступ к историческому состоянию

Если вы хотите запросить историческое состояние — например, вы можете захотеть узнать баланс кошелька на заданной высоте в прошлом — вам следует запустить архивный узел с pruning = "nothing"in app.toml. Обратите внимание, что эта конфигурация является ресурсоемкой и потребует значительного хранилища:

Если вы хотите сэкономить на хранилище, рассмотрите возможность использования pruning = "everything"app.toml для удаления всего.

Создать (или восстановить) локальную пару ключей

Создайте новую пару ключей или восстановите существующий кошелек для вашего валидатора:

Замените <your-key>на имя ключа по вашему выбору.

Получите токены RISE

Вам понадобится несколько токенов vRISE для привязки к вашему валидатору (и несколько токенов RISE для оплаты комиссий). Чтобы быть в активном наборе, вам нужно будет иметь достаточно токенов.

Запустить узел консенсуса

Следуйте инструкциям по настройке Cosmovisor и запуску узла. См. руководство по Cosmovisorarrow-up-right

circle-info

Использование cosmovisor совершенно необязательно. Если вы решите не использовать cosmovisor, вам нужно будет обязательно посетить обновления сети, чтобы убедиться, что ваш валидатор не простаивает и не попадает в тюрьму.

Если вы не используете Cosmovisor, выполните следующее:

Синхронизация узла

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

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

Если вы хотите сократить время ожидания последнего блока, рассмотрите возможность использования снимков с других узлов.

Если вы хотите догнать с 0 высоты, вам придется обновляться sunrisedна каждой высоте обновления. Если Cosmovisor запущен и включена опция автоматической загрузки, обновление также будет обработано автоматически.

Last updated