Автоделегирование
Чтобы ваш валидатор получал награды он должен быть в активном сете валидаторов, существует стандарт , который говорит о том, что последний по количеству токенов валидатор выбывает из активного сета( т.е. и перестает получать награды) если за место него пришел другой валидатор у которого сумма токенов в стейке больше чем у предыдущего. Давайте конечно же разберем на примере:
# перевести реварды и комиссию на основной баланс кошелька archwayd tx distribution withdraw-rewards <archwayvaloper..> --from <name_wallet> --chain-id torii-1 --fees 5utorii --commission -y
# делегировать доступные средства в своего валидатора archwayd tx staking delegate <archwayvaloper..> 1000000utorii --from <name_wallet> --fees 5utorii --chain-id torii-1 -y
Конечно в командах выше необходимо использовать свои параметры - меняя адрес валидатора, имя кошелька, сумму и при использовании другой сети название монеты и chain-id. Ниже я опишу один из вариантов использования автоматического автоделегирования с помощью скрипта
Заранее скажем спасибо за скрипт keupsonite . Данный скрипт подходит для любого блокчейна экосистемы Cosmos и в официальном репозитории уже есть шаблоны для многих проектов. Для Archway и тестовой сети torii-1 я подготовил шаблон, который можно скачать отсюда или скопировать ниже. Необходимо внести свои данные в PASSWD="" ; DELEGATOR_NAME="" ; DELEGATOR="" ; VALIDATOR="" ; BINARY=""
# Archway Keyring Backend ("test", "file", "os" or "memory")
# Example: KEYRING_BACKEND="test"
# You can reimport your wallet with desired backend-type
# (`archwayd keys add name_wallet --recover`)
KEYRING_BACKEND="os"
# Password
# Required if keyring-backend is "file" or "os"
PASSWD=""
# Archway Wallet Name (`archwayd keys list`)
# Example: DELEGATOR_NAME="name_wallet"
DELEGATOR_NAME=""
# Archway Wallet Address (`archwayd keys show name_wallet -a`)
# Example: DELEGATOR="archway1le23uxah00r8aajzfhh30et5ek2kxvfpyqp5jd"
DELEGATOR=""
# Archway Validator Address
# Example: VALIDATOR="archwayvaloper1msnjlmuas6hxh5xml952snjayxlm4f2k3etu0v"
VALIDATOR=""
# Current Archway Chain ID
CHAIN_ID="torii-1"
#########################################################
# In case you customized the Archway Node configuration, #
# you will want to edit this below parameters. #
#########################################################
# The IP of your Archway Node
NODE_IP="127.0.0.1"
# The port of your Archway Node
NODE_PORT="26657"
# The home of your Archway Node
NODE_HOME="$HOME/.archway"
# The path to your Archway binary
# To get the full path to your archway binary you can use `whereis archwayd` and replace the below value by.
# Example: BINARY="$HOME/go/bin/archwayd"
BINARY=""
####################
# MODIFY FOR TESTS #
####################
# Time to sleep in sec between two delegations
# Example: SLEEPING_TIME=$((5*60))
# Example: SLEEPING_TIME="30"
SLEEPING_TIME=$((30*60))
DENOM="utorii"
GAS_PRICES="--fees 26${DENOM}"
##################
# DO NOT MODIFY! #
##################
# Depending on Cosmos SDK version
# - ACCOUNT $binary query account
# - BANK $binary query bank balances
BALANCES_FROM="BANK"
SDETAILS="--chain-id ${CHAIN_ID} --node tcp://${NODE_IP}:${NODE_PORT} --home ${NODE_HOME}"
DETAILS="${SDETAILS} --keyring-backend ${KEYRING_BACKEND}"Приступаем к установке
1. Устанавливаем tmux и expect
sudo apt install tmux expect -y
2. Клонируем репозиторий и переходим в нужную папку
git clone https://github.com/zlounes/cosmos-autostaking.git $HOME/cosmos-autostaking && cd $HOME/cosmos-autostaking
chmod +x $HOME/cosmos-autostaking/*delegate*
4. Создаем файл .archway и копируем в него шаблон выше (внося нужные изменения)
nano $HOME/cosmos-autostaking/profiles/.archway
5. Запускаем команду ниже находясь в каталоге cd $HOME/cosmos-autostaking
tmux new-session -s autoDelegate $HOME/cosmos-autostaking/auto_delegate.sh -p $HOME/cosmos-autostaking/profiles/.archway
6. Сворчачиваем окно tmux нажав CTRL+B D
tail -f $HOME/cosmos-autostaking/auto_delegate.log
Остановить работу скрипта можно вернувшись в окно tmux введя команду tmux attach и нажав CTRL+C