MMS

cosmovisor— это небольшой диспетчер процессов для двоичных файлов приложений Cosmos SDK, который отслеживает модуль управления на наличие входящих предложений по обновлению цепочки. Если он увидит одобренное предложение, он cosmovisorможет автоматически загрузить новый двоичный файл, остановить текущий двоичный файл, переключиться со старого двоичного файла на новый и, наконец, перезапустить узел с новым двоичным файлом.

ССЫЛКА

Cosmovisor Cosmos  Документация

  1. Установите последнюю версиюcosmovisor
go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/cosmovisor@latest
  1. Установить из исходников
git clone [email protected]:cosmos/cosmos-sdk
cd cosmos-sdk
git checkout cosmovisor/vx.x.x
make cosmovisor

Это будет cosmovisorвстроено в каталог /cosmovisor. После этого вы можете поместить его в PATH вашей машины следующим образом:

cp cosmovisor/cosmovisor ~/go/bin/cosmovisor

Добавьте переменные среды в вашу оболочку

В файле .profile, обычно расположенном в ~/.profile, добавьте:

export DAEMON_NAME=aurad
export DAEMON_HOME=$HOME/.aura
export DAEMON_RESTART_AFTER_UPGRADE=true

Затем введите свой профиль:

source ~/.profile

Настроить структуру

Cosmovisor предполагает определенную структуру папок:

$DAEMON_HOME
├── cosmovisor
│    ├── current -> genesis or upgrades/<name>
│    ├── genesis
│    │   └── bin
│    │       └── $DAEMON_NAME
│    └── upgrades
│        └── <name>
│            ├── bin
│            │   └── $DAEMON_NAME
│            └── upgrade-info.json
└── ...

current- символическая ссылка, используемая Cosmovisor. Другие папки потребуют настройки:

mkdir -p $DAEMON_HOME/cosmovisor/genesis/bin
mkdir -p $DAEMON_HOME/cosmovisor/upgrades

Настройте двоичный файл

Cosmovisor должен знать, какой бинарник использовать при генезисе. Мы помещаем это во $DAEMON_HOME/cosmovisor/genesis/bin -первых, найдите местоположение aurad:

which aurad

Затем используйте возвращенный путь, чтобы скопировать его в каталог, который ожидает Cosmovisor. Предположим, что предыдущая команда вернула/home/<your-user>/go/bin/aurad

cp /home/<your-user>/go/bin/aurad $DAEMON_HOME/cosmovisor/genesis/bin

Настройте систему

Настроить cosmovisorкак системную службу для автоматического запуска.

systemdиспользуется для демонстрации.

Сначала создайте файл службы:

sudo vi /etc/systemd/system/cosmovisor.service

Измените содержимое ниже, чтобы оно соответствовало вашей настройке -cosmovisor

[Unit]
Description=cosmovisor
After=network-online.target

[Service]
User=<your-user>
ExecStart=/home/<your-user>/go/bin/cosmovisor run start
Restart=always
RestartSec=3
LimitNOFILE=4096
Environment="DAEMON_NAME=aurad"
Environment="DAEMON_HOME=/home/<your-user>/.aura"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"

[Install]
WantedBy=multi-user.target

Запустить Cosmovisor

Включите службу и запустите ее:

sudo -S systemctl daemon-reload
sudo -S systemctl enable cosmovisor
sudo systemctl start cosmovisor

Проверьте, работает ли он, используя:

sudo systemctl status cosmovisor
journalctl -u cosmovisor -f

🗣Присоединяйтесь к русскоговорящему сообществу Aura Network:

https://t.me/AuraNetwork_ru

Leave a Reply

Your email address will not be published. Required fields are marked *