Axelar testnet-2
Знакомство
Задачей Axelar является обеспечение безопасной межсетевой связи для web3. Его инфраструктура позволяет моментально взаимодействовать с любым активом или приложением.
У данного проекта уже закончилась первая фаза тестнета, по итогам которого отобрали 50 человек в активные валидаторы майннета. Сейчас же проходит второй тестнет, он не оплачиваемый, однако из него так же будут отбирать валидаторов для основной сети.
Сайт проекта: https://axelar.network
Документация проекта: https://docs.axelar.dev
Системные требования
Официальные требования - 4 СPU / 8 RAM / 512 SSD
Субъективные наблюдения - 2 СPU / 6 RAM / 100 SSD
Установка
Подготавливаем сервер:
# обновляем 'базу данных' и дистрибутив sudo apt-get update && sudo apt-get upgrade -y #cкачиваем необходимые зависимости sudo apt-get install wget liblz4-tool aria2 jq -y
Скачиваем бинарники:
# указываем версии релиза и проверяем правильность ввода AXELARD_RELEASE=v0.17.3 TOFND_RELEASE=v0.10.1 echo $AXELARD_RELEASE $TOFND_RELEASE # создаем временную директорию для бинарников cd $HOME; \ mkdir binaries && cd binaries # скачиваем и переименовываем бинарники wget https://github.com/axelarnetwork/axelar-core/releases/download/$AXELARD_RELEASE/axelard-linux-amd64-$AXELARD_RELEASE && \ wget https://github.com/axelarnetwork/tofnd/releases/download/$TOFND_RELEASE/tofnd-linux-amd64-$TOFND_RELEASE mv axelard-linux-amd64-$AXELARD_RELEASE axelard mv tofnd-linux-amd64-$TOFND_RELEASE tofnd # делаем бинарники исполняемыми и перемещаем их к другим исполняемым файлам chmod +x * && sudo mv * /usr/bin/ && cd # проверяем версии axelard version tofnd --help
Создаем кошельки:
axelard keys add broadcaster axelard keys add validator tofnd -m create
При создании кошельков необходимо будет ввести пароль без специальных символов.
После создания необходимо сохранить мнемоники кошельков, а так же скачать файл расположенный по пути $HOME/.tofnd/export. После чего необходимо удалить файл export
rm $HOME/.tofnd/export
Для восстановления кошельков используйте следующие команды:
axelard keys add broadcaster --recover axelard keys add validator --recover tofnd -m import
Настраиваем переменные окружения:
echo export CHAIN_ID=axelar-testnet-casablanca-1 >> $HOME/.profile && \ echo export MONIKER=PUT_YOUR_MONIKER_HERE >> $HOME/.profile && \ VALIDATOR_OPERATOR_ADDRESS=`axelard keys show validator --bech val --output json | jq -r .address` && \ BROADCASTER_ADDRESS=`axelard keys show broadcaster --output json | jq -r .address` && \ echo export VALIDATOR_OPERATOR_ADDRESS=$VALIDATOR_OPERATOR_ADDRESS >> $HOME/.profile && \ echo export BROADCASTER_ADDRESS=$BROADCASTER_ADDRESS >> $HOME/.profile && \
Укажите пароль от кошельков для автоматической авторизации при запуске сервисных файлов:
echo export KEYRING_PASSWORD = <ваш_пароль> >> $HOME/.profile
Учтите, что при использовании данного метода, ваш пароль будет храниться на сервере.
# подтвердите изменения source $HOME/.profile
Инициализация ноды:
axelard init $MONIKER --chain-id $CHAIN_ID wget https://raw.githubusercontent.com/axelarnetwork/axelarate-community/main/configuration/config.toml -O $HOME/.axelar/config/config.toml && \ wget https://raw.githubusercontent.com/axelarnetwork/axelarate-community/main/configuration/app.toml -O $HOME/.axelar/config/app.toml && \ wget https://raw.githubusercontent.com/axelarnetwork/axelarate-community/main/resources/testnet-2/genesis.json -O $HOME/.axelar/config/genesis.json && \ wget https://raw.githubusercontent.com/axelarnetwork/axelarate-community/main/resources/testnet-2/seeds.toml -O $HOME/.axelar/config/seeds.toml && # установите внешний ip sed -i.bak 's/external_address = ""/external_address = "'"$(curl -4 ifconfig.co)"':26656"/g' $HOME/.axelar/config/config.toml
Синхронизируем ноду со снапшота:
# удалим старые файлы с данными axelard tendermint unsafe-reset-all # Скачиваем новые файлы cd $HOME/.axelar && \ wget -O - https://snapshots.bitszn.com/snapshots/axelar/axelar.tar | tar -xvf - && cd
Создаем сервисники:
sudo tee <<EOF >/dev/null /etc/systemd/system/axelard.service [Unit] Description=Axelard Cosmos daemon After=network-online.target [Service] User=$USER ExecStart=/usr/bin/axelard start Restart=on-failure RestartSec=3 LimitNOFILE=4096 [Install] WantedBy=multi-user.target EOF cat /etc/systemd/system/axelard.service sudo systemctl enable axelard
sudo tee <<EOF >/dev/null /etc/systemd/system/tofnd.service [Unit] Description=Tofnd daemon After=network-online.target [Service] User=$USER ExecStart=/usr/bin/sh -c 'echo $KEYRING_PASSWORD | tofnd -m existing -d $HOME/.tofnd' Restart=on-failure RestartSec=3 LimitNOFILE=4096 [Install] WantedBy=multi-user.target EOF cat /etc/systemd/system/tofnd.service sudo systemctl enable tofnd
sudo tee <<EOF >/dev/null /etc/systemd/system/vald.service [Unit] Description=Vald daemon After=network-online.target [Service] User=$USER ExecStart=/usr/bin/sh -c 'echo $KEYRING_PASSWORD | /usr/bin/axelard vald-start --validator-addr $VALIDATOR_OPERATOR_ADDRESS --log_level debug --chain-id $CHAIN_ID --from broadcaster' Restart=on-failure RestartSec=3 LimitNOFILE=4096 [Install] WantedBy=multi-user.target EOF cat /etc/systemd/system/vald.service sudo systemctl enable vald
Запускаем ноду и проверяем логи:
sudo systemctl daemon-reload sudo systemctl restart axelard sudo systemctl restart tofnd sudo systemctl restart vald sed -i 's/#Storage=auto/Storage=persistent/g' /etc/systemd/journald.conf sudo systemctl restart systemd-journald
Для просмотра логов используем следующие команды:
journalctl -u axelard.service -f -n 100 journalctl -u tofnd.service -f -n 100 journalctl -u vald.service -f -n 100
Создаем валидатора
Перед созданием валидатора необходимо пополнить кошельки и дождаться полной синхронизации:
axelard keys list
Переходим на сайт https://faucet-casablanca.testnet.axelar.dev/ и запрашиваем токены на оба кошелька.
Проверяем статус синхронизации:
axelard status 2>&1 | jq |grep catch
Вывод должен быть таким: "catching_up": false
После синхронизации проверяем баланс:
axelard q bank balances <адрес кошелька>
Создаем валидатора
# регистрируем прокси axelard tx snapshot register-proxy $BROADCASTER_ADDRESS --from validator --chain-id $CHAIN_ID # Устанавливаем переменные IDENTITY="ваш id" # не обязательно AMOUNT=<количество токенов для делегации> #1000000uaxl = 1axl DENOM=uaxl #создаем валидатора axelard tx staking create-validator --yes \ --amount $AMOUNT$DENOM \ --moniker $MONIKER \ --commission-rate="0.10" \ --commission-max-rate="0.20" \ --commission-max-change-rate="0.01" \ --min-self-delegation="1" \ --pubkey="$(axelard tendermint show-validator)" \ --from validator \ -b block \ --identity=$IDENTITY \ --chain-id $CHAIN_ID
Полезные команды
journalctl -u axelard.service -f -n 100 journalctl -u tofnd.service -f -n 100 journalctl -u vald.service -f -n 100
axelard keys list
axelard q bank balances <адрес кошелька>
Узнать адрес своего валидатора:
/usr/bin/axelard keys show validator -a --bech val
Посмотреть количество делегаций у валидатора:
/usr/bin/axelard q staking validator axelarvaloper1lewy927u3yavua5wct840s9frws45h9v36nvxh | grep tokens
Добавить делегации на своего валидатора:
axelard tx staking delegate <адрес валидатора> <количество токенов>uaxl --from validator --chain-id axelar-testnet-casablanca-1 -a 436
При возникновении ошибки "signature verification failed", проверьте значение флага "account number" (-a ...)
Так же будем благодарны, если вы делегируете в нашего валидатора ))
axelard tx staking delegate axelarvaloper1lewy927u3yavua5wct840s9frws45h9v36nvxh <количество токенов>uaxl --from validator --chain-id axelar-testnet-casablanca-1 -a 436
Подписывайтесь!
Наш канал в телеграм: https://t.me/cardex_nodes
Наш канал в дискорд: https://discord.gg/mtDbNnAkk9