August 16, 2022

Axelar testnet-2

Знакомство

Задачей Axelar является обеспечение безопасной межсетевой связи для web3. Его инфраструктура позволяет моментально взаимодействовать с любым активом или приложением.

У данного проекта уже закончилась первая фаза тестнета, по итогам которого отобрали 50 человек в активные валидаторы майннета. Сейчас же проходит второй тестнет, он не оплачиваемый, однако из него так же будут отбирать валидаторов для основной сети.

Список покровителей и партнеров Axelar.

Сайт проекта: 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