July 18, 2022

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

Здравствуйте сегодня мы расскажем об установке ноды Stride

Оригинальная инструкция находится тут.

Stride это блокчейн обеспечивающий ликвидность стэйкинга в экосистеме космос, более подробно можно прочитать на официальном сайте.

Рекомендуемые требования для сервера

8GB RAM, 100GB_SSD of disk space, 4Cores (modern CPU's)

Краткую инструкцию по аренде сервера можно посмотреть тут

19.08.2022 Стартовал второй тестнет

Ноду необходимо устанавливать с нуля, на всякий случай сохраните priv_validator_key.json со старой ноды.

23.08.2022 вышло обновление, на блоке 70500 необходимо обновиться

sudo systemctl stop strided cd $HOME rm -rf stride git clone https://github.com/Stride-Labs/stride.git cd stride git checkout 90859d68d39b53333c303809ee0765add2e59dab make build sudo mv $HOME/stride/build/strided /usr/local/bin sudo systemctl restart strided && journalctl -fu strided -o cat

Для удаления старой ноды останавливаем и отключаем сервис

sudo systemctl stop strided sudo systemctl disable strided

Удаляем сервис и бинарник

sudo rm /etc/systemd/system/strided.service sudo rm /usr/local/bin/strided

Удаляем папки ноды

cd $HOME sudo rm -r stride/ sudo rm -r .stride/

После этого начинаем установку

Как всегда обновляем наш сервер

sudo apt 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 wget -y

Устанавливаем go и проверяем версию

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

После этого скачиваем и устанавливаем бинарник

cd $HOME git clone https://github.com/Stride-Labs/stride.git cd stride git checkout cf4e7f2d4ffe2002997428dbb1c530614b85df1b make build sudo cp $HOME/stride/build/strided /usr/local/bin

Задаем переменные (CHAIN оставляем без изменений, в остальные вписываем свои данные)

MONIKER="your_name" CHAIN="STRIDE-TESTNET-4" WALLET_NAME="your_name"

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

echo 'export MONIKER='${MONIKER} >> $HOME/.bash_profile echo 'export CHAIN='${CHAIN} >> $HOME/.bash_profile echo 'export WALLET_NAME='${WALLET_NAME} >> $HOME/.bash_profile source $HOME/.bash_profile

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

strided init $MONIKER --chain-id $CHAIN

Прописываем в конфиг имя сети

strided config chain-id $CHAIN

Скачиваем файл генезис и адресбук

wget -O $HOME/.stride/config/genesis.json "https://raw.githubusercontent.com/Stride-Labs/testnet/main/poolparty/genesis.json" wget -O $HOME/.stride/config/addrbook.json "https://raw.githubusercontent.com/obajay/nodes-Guides/main/Stride/addrbook.json"

Настраиваем прунинг

pruning="custom" pruning_keep_recent="100" pruning_keep_every="0" pruning_interval="10" sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.stride/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.stride/config/app.toml sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.stride/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.stride/config/app.toml

Выключаем индексер (по желанию)

indexer="null" sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.stride/config/config.toml

Добавляем пиры

peers="54a11c47658ebd5dcbd70eb3c62197b439482d3f@116.202.236.115:21016" sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.stride/config/config.toml

Создаем сервис файл

sudo tee /etc/systemd/system/strided.service > /dev/null <<EOF [Unit] Description=strided After=network-online.target

[Service] User=$USER ExecStart=$(which strided) start Restart=on-failure RestartSec=3 LimitNOFILE=65535

[Install] WantedBy=multi-user.target EOF

И запускаем сервис

sudo systemctl daemon-reload sudo systemctl enable strided sudo systemctl restart strided

Смотрим логи и ждем когда нода начнет синхронизироваться

sudo journalctl -u strided -f -o cat

Или смотрим статус синхронизации (когда "catching_up": false то нода синхронизирована) Если нода долго не подключается к пирам то просим поделиться пирами или адресбуком в дискорде или тематических телеграм каналах.

curl localhost:26657/status

На блоке 70500 необходимо обновиться

sudo systemctl stop strided cd $HOME rm -rf stride git clone https://github.com/Stride-Labs/stride.git cd stride git checkout 90859d68d39b53333c303809ee0765add2e59dab make build sudo mv $HOME/stride/build/strided /usr/local/bin sudo systemctl restart strided && journalctl -fu strided -o cat

После синхронизации создаем кошелек (не забываем сохранить мнемоник)

strided keys add $WALLET_NAME

Если кошелек уже есть то восстанавливаем с помощью мнемоника

strided keys add $WALLET_NAME --recover

Добавляем переменную с адресом кошелька

WALLET_ADDRESS=$(strided keys show $WALLET_NAME -a)

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

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

Теперь нам необходимо получить средства на кошелек. Для этого переходим по ссылке и запрашиваем токены на баланс кошелька

После запроса проверяем баланс

strided query bank balances $WALLET_ADDRESS

Если средства успешно поступили, то создаем валидатора (сумму указывайте свою, сколько хотите делегировать с кошелька, указывайте чуть меньше что бы хватило на комиссию)

strided tx staking create-validator \ --amount 9000000ustrd \ --from $WALLET_NAME \ --commission-max-change-rate "0.01" \ --commission-max-rate "0.2" \ --commission-rate "0.07" \ --min-self-delegation "1" \ --pubkey $(strided tendermint show-validator) \ --moniker $MONIKER \ --chain-id $CHAIN \ --fees 500ustrd

Задаем переменную с адресом валидатора

VALOPER=$(strided keys show $WALLET_ADDRESS --bech val -a)

И добавляем ее в баш профиль

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

Проверка статуса валидатора

strided query staking validator $VALOPER

Делегация средств с кошелька на валидатора (сумму вводите свою)

strided tx staking delegate $VALOPER 1000000ustrd --from $WALLET_NAME --chain-id $CHAIN

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

strided tx slashing unjail --from $WALLET_NAME --chain-id $CHAIN.

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

Наш телеграмм канал по нодам — https://t.me/mmsnodes
Наш телеграмм чат по нодам - https://t.me/mmsnodeschat
Наш телеграмм канал по экосистеме Cosmos - https://t.me/cosmochannel_mms

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