Для запуска узла в основной сети рекомендуется использовать Cosmovisor.
Настройка Cosmovisor относительно проста. Однако она предполагает, что определенные переменные среды и структура папок будут установлены. Cosmovisor позволяет вам загружать двоичные файлы заранее для обновлений цепочки, что означает, что вы можете сделать нулевое (или близкое к нулю) время простоя обновлений цепочки. Это также полезно, если ваш местный часовой пояс означает, что обновление цепочки придется на неподходящее время. Вместо того, чтобы выполнять стрессовые операционные задачи поздно ночью, всегда лучше, если вы можете автоматизировать их, и именно это Cosmovisor пытается сделать.
Установить
Для начала, идите и приобретите Космовизор (рекомендуемый подход):
# to target a specific version:
go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/cosmovisor@v1.0.0
Добавьте переменные окружения в вашу оболочку
Некоторые переменные среды должны иметь соответствующие значения для каждого узла и каждой сети.
echo "export CHAIN_REPO=https://github.com/UnUniFi/chain" >> ~/.bash_profile
echo "export CHAIN_REPO_BRANCHE=main" >> ~/.bash_profile
echo "export TARGET=ununifid" >> ~/.bash_profile
echo "export TARGET_HOME=.ununifi" >> ~/.bash_profile
# This value will be different for each node.
echo "export MONIKER=<your-moniker>" >> ~/.bash_profile
echo "export CHAIN_ID=ununifi-beta-v1" >> ~/.bash_profile
# This value is example of mainnet.
echo "export GENESIS_FILE_URL=https://raw.githubusercontent.com/UnUniFi/network/main/launch/ununifi-beta-v1/genesis.json" >> ~/.bash_profile
echo "export SETUP_NODE_CONFIG_ENV=TRUE" >> ~/.bash_profile
echo "export SETUP_NODE_ENV=TRUE" >> ~/.bash_profile
echo "export SETUP_NODE_MASTER=TRUE" >> ~/.bash_profile
echo "export DAEMON_NAME=\$TARGET" >> ~/.bash_profile
# This value will be different for each node.
echo "export DAEMON_HOME=$HOME/.ununifi" >> ~/.bash_profile
echo "export DAEMON_ALLOW_DOWNLOAD_BINARIES=false" >> ~/.bash_profile
echo "export DAEMON_LOG_BUFFER_SIZE=512" >> ~/.bash_profile
echo "export DAEMON_RESTART_AFTER_UPGRADE=true" >> ~/.bash_profile
echo "export UNSAFE_SKIP_BACKUP=true" >> ~/.bash_profile
Затем настройте свой профиль, чтобы получить доступ к этим переменным:
Команды, отправленные в Cosmovisor, отправляются в базовый двоичный файл. Например, cosmovisor versionто же самое, что и ввод ununifid version. Тем не менее, так же, как мы бы управляли ununifidс помощью менеджера процессов, мы хотели бы убедиться, что Cosmovisor автоматически перезапускается, если что-то происходит, например, ошибка или перезагрузка. Сначала создайте файл службы:
sudo nano /lib/systemd/system/cosmovisor.service
Измените содержимое ниже в соответствии с вашими настройками.