> For the complete documentation index, see [llms.txt](https://surftest.gitbook.io/axelar-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://surftest.gitbook.io/axelar-wiki/russian/ustanovka-axelar/full-setup-testnet.md).

# FULL Setup testnet

## Quick sync

В даннома разделе установки мы добьемся того, что у нас засинхронизируется нода.

{% hint style="info" %}
Актульные версии ПО можно посмотреть тут <https://docs.axelar.dev/releases/testnet>

Инфо как обновляться тут <https://docs.axelar.dev/releases/testnet/upgrade>
{% endhint %}

### Придумываем пароль для keyring файла

Axelar keyring файл будет зашифрован этим паролем. Пароль должен быть не менее 8 знаков.&#x20;

Ниже этот пароль нам понадобится для запуска скрипта. Мы вставим его в команду запуска скрипта через переменную `KEYRING_PASSWORD`&#x20;

### Установка Axelar

Копируем себе на сервер [`axelerate-community`](https://github.com/axelarnetwork/axelarate-community) репозиторий:

```
git clone https://github.com/axelarnetwork/axelarate-community.git
cd axelarate-community
```

Перед запуском скрипта - увеличим разрешение системы на количество открытых файлов командой:

```
ulimit -n 16384
```

Иначе при установке увидим такую ошибку:

<img src="https://524528777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff8kEXtTHjW0sndWFpCyO%2Fuploads%2FvQ4maR9pMoL9k11JfVqC%2Fimage.png?alt=media&amp;token=5bc670f4-2efe-4d77-a03e-bc217e0e76fd" alt="" data-size="original">

Запускаем скрипт установки. В скрипте, вместо `my-secret-password` надо вставляем придуманный нами пароль для keyring:

```
KEYRING_PASSWORD='my-secret-password' ./scripts/node.sh -a v0.13.6
```

Получаем вывод:

<img src="https://524528777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff8kEXtTHjW0sndWFpCyO%2Fuploads%2FTZnqCkqtj8MKQgp2AtWL%2Fimage.png?alt=media&amp;token=cd34d26e-184a-4c3e-b8e7-21c6941f43c3" alt="" data-size="original">

Готово! Axelar нода запщена и начала синхронизироваться. Она установилась в папку `~/.axelar_testnet`

### Backup ключей <a href="#backup-your-secret-keys" id="backup-your-secret-keys"></a>

**Backup сид фразы (mnemonic phrase).** \
Скачаем и УДАЛИМ его. При запуске, скрипт подготовил нам готовый файл бэкапа. Скачаем его на компьютер через [WinSCP](https://winscp.net/download/WinSCP-5.19.5-Setup.exe) (для Windows), Cyberduck (для MacOS), FileZilla или другой FTP утилитой. И удалим с сервера! Файл находится в папке:

```
~/.axelar_testnet/validator.txt
```

**Backup Tendermint consensus secret key (он нужен для рестарта ноды).**[​](https://docs.axelar.dev/roles/node/join#backup-your-secret-keys)\
Скачиваем но НЕ НАДО удалять с сервера! Файл находится по адресу:

```
~/.axelar_testnet/.core/config/priv_validator_key.json
```

### Просмотр Логов

Для просмотра логов нужно ввести команду:

```
tail -f ~/.axelar_testnet/logs/axelard.log
```

Будет видно, что блокчейн активно подгружается. Пример логов:

<img src="https://524528777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff8kEXtTHjW0sndWFpCyO%2Fuploads%2F0AYIfP43vceLJ5ZObfii%2Fimage.png?alt=media&amp;token=8286063c-67b2-4346-966a-5f4dc30d782c" alt="" data-size="original">

### Синхронизация Axelar по Snapshot

Синхронизация с нуля слишком долгое удовольствие. Поэтому загрузим последний Snapshot блокчейна Axelar. Есть два проверенных ресурса:

1. [quicksync.io](https://quicksync.io/networks/axelar.html)
2. [staketab.com](https://cosmos-snap.staketab.com/axelar/) | [инструкции](https://github.com/staketab/nginx-cosmos-snap/blob/main/docs/axelar.md)

**Инструкция:**

Остановим ноду:

```
kill -9 $(pgrep -f "axelard start")
```

Установим нужные программы:

```
sudo apt-get update -y
sudo apt-get install wget liblz4-tool aria2 -y
```

Удалим data каталог, в который успел подгрузиться блокчейн, создадим пустой и зайдем в него:

```
rm -r ~/.axelar_testnet/.core/data
mkdir -p ~/.axelar_testnet/.core/data
cd ~/.axelar_testnet/.core/data
```

Закачаем снапшот.&#x20;

```
wget -O - https://cosmos-snap.staketab.com/axelar/axelar-testnet-lisbon-3_2022-02-20.tar | tar xf -
```

В нашем случае мы закачиваем не сжатую информацию, поэтому не будем распаковывать.

Возобновим работу ноды Axelar. Напомню, что вместо my-secret-password надо вставить свой keyring пароль:

```
cd ~/axelarate-community
ulimit -n 16384
KEYRING_PASSWORD='my-secret-password' ./scripts/node.sh -n testnet
```

Проверим, все ли в порядке.\
Логи:\
`tail -f ~/.axelar_testnet/logs/axelard.log`

<img src="https://524528777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff8kEXtTHjW0sndWFpCyO%2Fuploads%2FkvG2NtYXO21e5z3gHDrL%2Fimage.png?alt=media&amp;token=caf696b4-372d-4f66-9c11-e37573150161" alt="" data-size="original">

Если блокчейн подгружается, то надо дождаться когда синхронизация догонит последний блок сети. Проверим:

```
curl localhost:26657/status | jq '.result.sync_info'
```

Надо посмотреть на поле `catching_up`:

* `true`: нода все ещё загружает блокчейн.
* `false`: нода закончила загрузку блокчейна. И подгружает актуальные блоки.

Пример вывода:

![](https://524528777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff8kEXtTHjW0sndWFpCyO%2Fuploads%2Fyf2TY4Rb4GRK08ufD2Ne%2Fimage.png?alt=media\&token=e27a9971-0802-4df8-baf8-52ad3fa808a5)

Готово! Нода засинхронизирована. Теперь вы можете запросить тестовые токены и создать валидатора.

### Получим AXL токены из faucet[​](https://docs.axelar.dev/roles/node/basic#get-axl-tokens-from-the-faucet) <a href="#get-axl-tokens-from-the-faucet" id="get-axl-tokens-from-the-faucet"></a>

Получим AXL testnet токены из крана [Axelar Testnet Faucet](https://faucet.testnet.axelar.dev/).

Для этого **узнаем свой адрес**. Вставим вместо `my-secret-password` свой кейринг пароль:

```
echo 'my-secret-password' | ~/.axelar_testnet/bin/axelard keys show validator -a --home ~/.axelar_testnet/.core
```

Вывод:

<img src="https://524528777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff8kEXtTHjW0sndWFpCyO%2Fuploads%2Fyvw5THrBFLJsGlvXH3S2%2Fimage.png?alt=media&amp;token=5413f2dd-7b3d-4a9b-9274-4f3619c68731" alt="" data-size="original">

Копируем адрес и запрашиваем токены на сайте  [Axelar Testnet Faucet](https://faucet.testnet.axelar.dev/).

**Проверяем баланс**. Как обычно my-secret-password - свой пароль, {MY\_ADDRESS} - адрес:

```
cd ~/axelarate-community
ulimit -n 16384
echo 'my-secret-password' | ~/.axelar_testnet/bin/axelard q bank balances {MY_ADDRESS} --home ~/.axelar_testnet/.core
```

Вывод:

<img src="https://524528777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff8kEXtTHjW0sndWFpCyO%2Fuploads%2FDbEVwI03zzAOmiefACZi%2Fimage.png?alt=media&amp;token=036a214c-c483-428c-94df-c57e73ecf1c3" alt="" data-size="original">

На кошельке 6000000 uaxl.

## Запускаем процессы `vald` и `tofnd`&#x20;

Эти процессы требуются для работы валидатора.

#### Придумаем пароль для `tofnd`&#x20;

Теперь в команду ниже подставляем пароли:\
`my-secret-password` - это пароль от keyring\
`my-tofnd-password` - это пароль от tofnd

```
KEYRING_PASSWORD='my-secret-password' TOFND_PASSWORD='my-tofnd-password' ./scripts/validator-tools-host.sh
```

При успешном запуске получаем вывод:

<img src="https://524528777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff8kEXtTHjW0sndWFpCyO%2Fuploads%2FbzANoLxRMbnRnqsr0Tnq%2Fimage.png?alt=media&amp;token=c4ffaf97-7710-40ba-9784-65b1f062f17f" alt="" data-size="original">

Среди прочего видим подсказку, как стать валидатором:

```
To become a validator get some uaxl tokens from the faucet (testnet only) and stake them
Broadcaster address: axelar1fa3m6jtfn2l2yghs8vj3ksdd7el4w23mcmnspy
```

#### Сделать Бэкап

Это обязательно сделать бэкап и УДАЛИТЬ следующие файлы:

**Tofnd** **mnemonic:** `/root/.axelar_testnet/.tofnd/import` \
**Broadcaster mnemonic**: `/root/.axelar_testnet/broadcaster.txt`

#### Проверим логи `vald`, `tofnd`:

```
tail -f ~/.axelar_testnet/logs/vald.log
tail -f ~/.axelar_testnet/logs/tofnd.log
```

Пример логов:

<img src="https://524528777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff8kEXtTHjW0sndWFpCyO%2Fuploads%2FzcAGiPNZb61g37Zqqva0%2Fimage.png?alt=media&amp;token=caa3e553-3724-484c-a6ff-012c5f63c7fe" alt="" data-size="original">

## Регистрируем broadcaster proxy

Каждый валидатор должен зарегистрировать broadcaster, чтобы с него отсылались сообщения.

### Узнаем свой broadcaster account address

Мы его видели, при введении скрипта выше. Если вы не записали адрес, то можно его найти по адресу:

```
~/.axelar_testnet/broadcaster.address
```

### Пополним broadcaster address

Для этого копируем адрес и вставим его в [Axelar кране](http://faucet.testnet.axelar.dev/).

Проверим баланс (кран наливает 6 AXL):

```
echo 'my-secret-password' | ~/.axelar_testnet/bin/axelard q bank balances {MY_ADDRESS} --home ~/.axelar_testnet/.core
```

### Зарегистрируем broadcaster address

Подставляем в команду ниже: `my-secret-password` и `{BROADCASTER_ADDR}`.

```
echo 'my-secret-password' | ~/.axelar_testnet/bin/axelard tx snapshot register-proxy {BROADCASTER_ADDR} --from validator --chain-id axelar-testnet-lisbon-3 --home ~/.axelar_testnet/.core
```

Получаем вывод:

<img src="https://524528777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff8kEXtTHjW0sndWFpCyO%2Fuploads%2FsGb2ZWLbMTij0h4GUVuf%2Fimage.png?alt=media&amp;token=97a50f7d-86a9-4feb-bbdd-cfb876aefcee" alt="" data-size="original">

#### Проверим регистрацию broadcaster address

```
echo 'my-secret-password' | ~/.axelar_testnet/bin/axelard q snapshot proxy $(cat ~/.axelar_testnet/validator.bech)
```

![](https://524528777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff8kEXtTHjW0sndWFpCyO%2Fuploads%2F2RAYrVMsuQk71D5ttvAg%2Fimage.png?alt=media\&token=9727781e-3172-4c81-a0e8-741c30315d73)

Готово! Мы зарегистрировали broadcaster account address!

## Создание вадилатора

Для начала теория 😊

`{KEYRING_PASSWORD}` - он же `my-secret-password` - это пароль  Axelar keyring файла.

`{STAKE_AMOUNT}` - это количество токенов, которое мы застейкаем на нашего валидатора. \
Это число считается в `uaxl`, где `1 AXL = 1000000 uaxl`.

`{MY_MONIKER}` - это имя ноды которое мы сейчас должны придумать и задать данной командой.

`{MY_identity}` - этим параметром можно присвоить валидатору картинку. Сгенерировать его можно на сайте <https://keybase.io/> без смс но с регистрацией😊

`{MY_details}` - записываем сюда дополнительную информацию.

#### Изменим команду ниже под себя и введем в командную строку:

```
echo '{KEYRING_PASSWORD}' | ~/.axelar_testnet/bin/axelard tx staking create-validator \
--amount {STAKE_AMOUNT}uaxl \
--moniker "{MY_MONIKER}" \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1" \
--pubkey="$(~/.axelar_testnet/bin/axelard tendermint show-validator \
--home ~/.axelar_testnet/.core)" \
--from validator \
--chain-id axelar-testnet-lisbon-3 \
--home ~/.axelar_testnet/.core \
--identity="{MY_identity}" \
--details="{MY_details}" \
```

Так выглядит вывод:

<img src="https://524528777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff8kEXtTHjW0sndWFpCyO%2Fuploads%2FNpq9dyQsLuzJTFQo5qDu%2Fimage.png?alt=media&amp;token=72715fb4-dbc2-4c4c-ad85-08ef020674c3" alt="" data-size="original">

{% hint style="info" %}
При создании валидатора токены делегируются с адреса {MY\_ADDRESS} (`validator` account).
{% endhint %}

### Дополнительные команды <a href="#optional-learn-your-valoper-address" id="optional-learn-your-valoper-address"></a>

#### Узнать valoper address[​](https://docs.axelar.dev/roles/validator/setup/stake-axl#optional-learn-your-valoper-address) <a href="#optional-learn-your-valoper-address" id="optional-learn-your-valoper-address"></a>

{VALOPER\_ADDR} и {BROADCASTER\_ADDR} , {MY\_ADDRESS} это абсолютно разные вещи.

{VALOPER\_ADDR}  - адрес валидатора. Если мы посмотрим в эксплоере [на валидатора](https://axelar-testnet.coinhippo.io/validator/axelarvaloper1n3876h9d0r674kxp30cx488ggha300cq6hmgx6) то мы увидим, что его адрес похож на адрес {MY\_ADDRESS}. Это из за того, что Валидатор создается на основе адреса. На одном адресе может быть только 1 валидатор.\
В моем случае:\
`{MY_ADDRESS}` - `validator` account (первоначальный адрес) axelar1n3876h9d0r674kxp30cx488ggha300cq6**kdd54**\
`{VALOPER_ADDR}` - адрес валидатора axelarvaloper1n3876h9d0r674kxp30cx488ggha300cq6**hmgx6**\
`{BROADCASTER_ADDR}` - адрес broadcaster аккаунта  axelar1fa3m6jtfn2l2yghs8vj3ksdd7el4w23mcmnspy

Команда, для узнавания `{VALOPER_ADDR}` address связанного с `validator` account:

```
echo 'my-secret-password' | ~/.axelar_testnet/bin/axelard keys show validator -a --bech val --home ~/.axelar_testnet/.core
```

#### Проверить количество заделегированных в валидатора монет[​](https://docs.axelar.dev/roles/validator/setup/stake-axl#optional-check-the-stake-amount-delegated-to-your-validator) <a href="#optional-check-the-stake-amount-delegated-to-your-validator" id="optional-check-the-stake-amount-delegated-to-your-validator"></a>

```
 ~/.axelar_testnet/bin/axelard q staking validator {VALOPER_ADDR} | grep tokens
```

#### Делегация дополнительного стейка в валидатора[​](https://docs.axelar.dev/roles/validator/setup/stake-axl#optional-delegate-additional-stake-to-your-validator) <a href="#optional-delegate-additional-stake-to-your-validator" id="optional-delegate-additional-stake-to-your-validator"></a>

```
echo 'my-secret-password' | ~/.axelar_testnet/bin/axelard tx staking delegate {VALOPER_ADDR} {STAKE_AMOUNT}uaxl --from validator --chain-id axelar-testnet-lisbon-3 --home ~/.axelar_testnet/.core
```

### Проверка

Это не обязательный шаг, но информативный. Можно увидель все ли показатели валидатора работают:

```
echo 'my-secret-password' | ~/.axelar_testnet/bin/axelard health-check --tofnd-host localhost --operator-addr {VALOPER_ADDR} --home ~/.axelar_testnet/.vald
```

### Explorer который работает

[https://axelar-testnet.coinhippo.io](https://axelar-testnet.coinhippo.io/validator/axelarvaloper1n3876h9d0r674kxp30cx488ggha300cq6hmgx6)<br>
