Оффициальная документация:
Эксплорер:
Для переноса вашей ноды на другой сервер ознакомьтесь с инструкцией Перенос валидатора на новый сервер
Как и для любой цепочки Cosmos-SDK.
- 4x CPUs;
- 8GB RAM
- 100GB хранилище (SSD or NVME)
- Постоянное интернет соединение (трафик будет минимальным в течении тестнета)
- 4x CPUs;
- 32GB RAM
- 200GB хранилище (SSD or NVME)
- Постоянное интернет соединение (трафик будет минимальным в течении тестнета)
Следуйте инструкции для установки ноды Ручная установка фуллноды
Когда установка завершена, загрузите переменные в систему
source $HOME/.bash_profile
Убедитесь что ваш валидатор синхронизирует блоки. Для проверки статуса синхронизации воспользуйтесь командой ниже
strided status 2>&1 | jq .SyncInfo
Для создания нового кошелька используйте команду ниже (Обязательно сохраните мнемонику)
strided keys add $WALLET
(ДОПОЛНЕНИЕ) Для восстановления вашего кошелька используйте вашу сид фразу.
strided keys add $WALLET --recover
Для получения текущего списка кошельков используйте комманду ниже
strided keys list
Записываем кошелёк и адрес валидатора в переменные
STRIDE_WALLET_ADDRESS=$(strided keys show $WALLET -a)
STRIDE_VALOPER_ADDRESS=$(strided keys show $WALLET --bech val -a)
echo 'export STRIDE_WALLET_ADDRESS='${STRIDE_WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export STRIDE_VALOPER_ADDRESS='${STRIDE_VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile
Перед созданием валидатора необходимо запросить тестовые токены Для пополнения вашего кошелька присоеденитесь к серверу Stride discord server и перейдите в раздел:
- #token-faucet для запроса токенов
Команда для запроса выглядит так:
$faucet-stride:<Адрес вашего кошелька>
Перед созданием валидатора убедитесь что у вас на кошельке есть как минимум 1 strd (1 strd равен 1000000 ustrd) и ваша нода синхронизирована.
Для проверки баланса воспользуйтесь командой ниже:
strided query bank balances $STRIDE_WALLET_ADDRESS
Если ваш баланс не отображается после применения команды, скорее всего синхронизация еще не закончена. Дождитесь окончания синхронизация и затем продолжите. Для создания валидатора используйте команду ниже
strided tx staking create-validator \
--amount 10000000ustrd \
--from $WALLET \
--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 $NODENAME \
--chain-id $STRIDE_CHAIN_ID
Застейкайте свой ATOM в Stride для получения stATOM. Ниже комманда пример для стейка ликвидности.
strided tx stakeibc liquid-stake 1000 uatom --from $WALLET --chain-id $STRIDE_CHAIN_ID
ЗАМЕТКА: если вы застейкали 1000 uatom, вы можете получить 990 (возможно больше или меньше) stATOM! Так работает обменный курс (не переживайте) Ваши 990 stATOM имеют ценность как 1000 uatom.
После накопления некоторого количества вознаграждений за стейкинг вы можете вывести некоторое количество токенов. В настоящее время период вывода в нашей тестовой сети Gaia (Cosmos Hub) составляет около 30 минут. Комманда для вывода токенов представлена ниже
strided tx stakeibc redeem-stake 1000 GAIA <COSMOS_ADDRESS_YOU_WANT_TO_REDEEM_TO> --chain-id $STRIDE_CHAIN_ID --from $WALLET
Если вы хотите узнать готовы ли ваши токены для клейма, смотрите на UserRedemptionRecord
с ключом <Ваш аккаунт Stride>
.
strided q records list-user-redemption-record --limit 10000 --output json | jq --arg WALLET_ADDRESS "$STRIDE_WALLET_ADDRESS" '.UserRedemptionRecord | map(select(.sender == $WALLET_ADDRESS))'
Если ваш результат выглядит следующим образом isClaimable=true
, токены готовы к выводу.
После того как ваши токены готовы к выводу, необходимо инициировать процесс клейма.
wget -qO claim.sh https://raw.githubusercontent.com/kj89/testnet_manuals/main/stride/tools/claim.sh && chmod +x claim.sh
./claim.sh $STRIDE_WALLET_ADDRESS
Для защиты ваших ключей, убедитесь что вы следуете базовым правилам безопасности
В качестве примера предлагаю вам ознакомиться с гайдом от хостинга Digital Ocean.(https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-ubuntu-20-04)
Начните с проверки статуса 'ufw'
sudo ufw status
Устанавите по умолчанию разрешение исходящих соединений, запрет всех входящих, кроме ssh и порта 26656. Ограничьте попытки входа в систему через SSH
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow ssh/tcp
sudo ufw limit ssh/tcp
sudo ufw allow ${STRIDE_PORT}656,${STRIDE_PORT}660/tcp
sudo ufw enable
[[ $(strided q staking validator $STRIDE_VALOPER_ADDRESS -oj | jq -r .consensus_pubkey.key) = $(strided status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\n\e[1m\e[32mTrue\e[0m\n" || echo -e "\n\e[1m\e[31mFalse\e[0m\n"
strided q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
curl -sS http://localhost:${STRIDE_PORT}657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
Проверка логов
journalctl -fu strided -o cat
Запуск сервиса
sudo systemctl start strided
Остановка сервиса
sudo systemctl stop strided
Перезапуск сервиса
sudo systemctl restart strided
Проверка синхронизации
strided status 2>&1 | jq .SyncInfo
Информация о валидаторе
strided status 2>&1 | jq .ValidatorInfo
Информация о ноде
strided status 2>&1 | jq .NodeInfo
Показать ID ноды
strided tendermint show-node-id
Список кошельков
strided keys list
Восстановление кошелька
strided keys add $WALLET --recover
Удаление кошелька
strided keys delete $WALLET
Получить баланс кошелька
strided query bank balances $STRIDE_WALLET_ADDRESS
Отправка токенов
strided tx bank send $STRIDE_WALLET_ADDRESS <TO_STRIDE_WALLET_ADDRESS> 10000000ustrd
strided tx gov vote 1 yes --from $WALLET --chain-id=$STRIDE_CHAIN_ID
Делегирование
strided tx staking delegate $STRIDE_VALOPER_ADDRESS 10000000ustrd --from=$WALLET --chain-id=$STRIDE_CHAIN_ID --gas=auto
Делегация с одного валидатора, другому
strided tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 10000000ustrd --from=$WALLET --chain-id=$STRIDE_CHAIN_ID --gas=auto
Вывод всех вознаграждений
strided tx distribution withdraw-all-rewards --from=$WALLET --chain-id=$STRIDE_CHAIN_ID --gas=auto
Вывод вознаграждений вместе с комиссией
strided tx distribution withdraw-rewards $STRIDE_VALOPER_ADDRESS --from=$WALLET --commission --chain-id=$STRIDE_CHAIN_ID
Изменение валидатора
strided tx staking edit-validator \
--moniker=$NODENAME \
--identity=<your_keybase_id> \
--website="<your_website>" \
--details="<your_validator_description>" \
--chain-id=$STRIDE_CHAIN_ID \
--from=$WALLET
'Unjail' валидатора
strided tx slashing unjail \
--broadcast-mode=block \
--from=$WALLET \
--chain-id=$STRIDE_CHAIN_ID \
--gas=auto
Комманды ниже полностью удалят ноду с вашего сервера (Используйте в случае необходимости)
sudo systemctl stop strided
sudo systemctl disable strided
sudo rm /etc/systemd/system/stride* -rf
sudo rm $(which strided) -rf
sudo rm $HOME/.stride* -rf
sudo rm $HOME/stride -rf
sed -i '/STRIDE_/d' ~/.bash_profile
pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="2000"
pruning_interval="50"
snapshot_interval="2000"
snapshot_keep_recent="5"
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
sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"$snapshot_interval\"/" $HOME/.stride/config/app.toml
sed -i -e "s/^snapshot-keep-recent *=.*/snapshot-keep-recent = \"$snapshot_keep_recent\"/" $HOME/.stride/config/app.toml