April 25, 2022

Установка ноды Cosmic

Здравствуйте, сегодня мы расскажем про установку ноды Cosmic

Заявленные требования для сервера на сегодняшний день следующие: 4vCPUs, 8GB RAM и 200GB Disk space

Не забываем что старт будет в 4-26-2022 20:45 МСК, если установили раньше то перезапустите ноду. sudo systemctl restart cohod

После подключения к серверу, через терминал, обновляем его:

sudo apt-get update && sudo apt upgrade -y

Далее устанавливаем необходимые пакеты:

sudo apt install make clang pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban -y

Устанавливаем GO версии 1.18.1 и после установки проверяем версию:

cd $HOME wget -O go1.18.1.linux-amd64.tar.gz https://golang.org/dl/go1.18.1.linux-amd64.tar.gz rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz && rm go1.18.1.linux-amd64.tar.gz echo 'export GOROOT=/usr/local/go' >> $HOME/.bash_profile echo 'export GOPATH=$HOME/go' >> $HOME/.bash_profile echo 'export GO111MODULE=on' >> $HOME/.bash_profile echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile && . $HOME/.bash_profile go version

Скачиваем и перемещаем starport:

curl https://get.starport.network/starport | bash sudo mv starport /usr/local/bin/

Скачиваем исполняемый файл и устанавливаем starport (время установки около 5 минут):

git clone https://github.com/cosmic-horizon/coho.git cd ~/coho starport chain build

Задаем переменные для нашего удобства (COSMIC_CHAIN оставляем без изменений, в остальные переменные вписываем свои значения):

COSMIC_CHAIN="darkenergy-1" COSMIC_MONIKER="YOUR_MONIKER_NAME" COSMIC_WALLET="YOUR_WALLET_NAME"

Добавляем переменные в баш профиль

echo 'export COSMIC_CHAIN='${COSMIC_CHAIN} >> $HOME/.bash_profile echo 'export COSMIC_MONIKER='${COSMIC_MONIKER} >> $HOME/.bash_profile echo 'export COSMIC_WALLET='${COSMIC_WALLET} >> $HOME/.bash_profile source $HOME/.bash_profile

Инициализируем ноду:

cohod init $COSMIC_MONIKER --chain-id $COSMIC_CHAIN

Скачиваем генезис:

wget -O $HOME/.coho/config/genesis.json https://raw.githubusercontent.com/cosmic-horizon/testnets/main/darkenergy-1/genesis.json

Задаем и прописываем сиды

seeds="a06e58e39d4a471d00d2e5d58233089c64fa5bb8@149.28.70.87:26656" sed -i.bak -e "s/^seeds *=.*/seeds = \"$seeds\"/" $HOME/.coho/config/config.toml

Создаем сервис

tee $HOME/cohod.service > /dev/null <<EOF [Unit] Description=coho After=network.target [Service] Type=simple User=$USER ExecStart=$(which cohod) start Restart=on-failure RestartSec=10 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF

Перемещаем сервис в рабочую папку

sudo mv $HOME/cohod.service /etc/systemd/system/

Запускаем сервис и смотрим логи

sudo systemctl daemon-reload sudo systemctl enable cohod sudo systemctl restart cohod journalctl -u cohod -f -o cat

Либо смотрим статус и ждем пока синхронизируется

curl -s localhost:26657/status

После того как увидите "catching_up": false нода синхронизировалась

Создаем кошелек !!! Не забываем сохранить мнемоник !!! так же попросит ввести пароль для доступа к кошельку СОХРАНЯЕМ или ЗАПОМИНАЕМ(Если кошелек уже есть и нужно просто восстановить то этой командой cohod keys add $COSMIC_WALLET --recover и вводим мнемоник)

cohod keys add $COSMIC_WALLET

Добавляем адрес кошелька в переменную (для подтверждения нужен пароль введённый ранее)

COSMIC_ADDR=$(cohod keys show $COSMIC_WALLET -a)

Добавляем переменную в баш профиль

echo 'export COSMIC_ADDR='${COSMIC_ADDR} >> $HOME/.bash_profile source $HOME/.bash_profile

Проверка баланса

cohod query bank balances $COSMIC_ADDR

После синхронизации создаем валидатор, комисcию можете оставить или задать свою (в строке --amount цифрами прописываем сумму которую хотим делегировать буковки ucoho оставляем) также вводим, ранее введенный пароль(не забываем что на кошельке с которого будете делегировать должны быть средства):

cohod tx staking create-validator --yes \ --amount 1000000ucoho \ --moniker $COSMIC_MONIKER \ --commission-rate "0.10" \ --commission-max-rate "0.20" \ --commission-max-change-rate "0.01" \ --min-self-delegation "1" \ --pubkey "$(cohod tendermint show-validator)" \ --from $COSMIC_WALLET \ --chain-id $COSMIC_CHAIN

Записываем адрес валидатора в переменную (все тот же пароль нужно будет ввести)

COSMIC_VALOPER=$(cohod keys show $COSMIC_WALLET --bech val -a)

Добавляем переменную в баш профиль:

echo 'export COSMIC_VALOPER='${COSMIC_VALOPER} >> $HOME/.bash_profile source $HOME/.bash_profile

Проверяем статус валидатора:

cohod query staking validator $COSMIC_VALOPER

Теперь как делегировать средства на валидатор:

cohod tx staking delegate $COSMIC_VALOPER [сума делегации цифрами (квадратные скобки удалить) ]ucoho --from $COSMIC_WALLET --chain-id $COSMIC_CHAIN

Ну и если вдруг ваша нода попала в тюрьму, то выход:

cohod tx slashing unjail --from $COSMIC_WALLET --chain-id $COSMIC_CHAIN

Большое спасибо, за внимание и уделенное время

С уважением, MMS_Team