> 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/ustanovka-s-docker-not-relevant.md).

# Установка с Docker (not relevant)

Это гайд по установки Axelar с помощью докера. Для установки с бинарников воспользуйтесь гайдом [Установка Binaries](https://app.gitbook.com/s/fFtwO5r6O9LCsGGWulff/c/4vvaWwxUVQVyel7Q6V33/russian/opcii-ustanovki/ustanovka-binaries).

Установка занимает от 30 до 60 минут. Синхронизация на момент написания гайда составляет 2-4 часа.

Напомним характеристики сервера: 6-8 cores, 16-32 GB RAM, 1 TB+ drive, Mac OS or Ubuntu (tested on 18.04).

### Полезные ссылки

* [Axelar faucet](http://faucet.testnet.axelar.dev/) для получения токенов
* Последние docker образы Axelar:
  * <https://hub.docker.com/repository/docker/axelarnet/axelar-core>
  * <https://hub.docker.com/repository/docker/axelarnet/tofnd>
* [Пошаговое видео](https://youtu.be/QC7Gx-ydTtw) по установке ноды c помощью Docker
  * Выполнено на базовой версии Axelar v0.7.6, будьте осторожны с возможными различиями в рабочем процессе.

### Скачиваем репризиторий

Для использования скрипта и конфга мы клонируем репозиторий с [гитхаба](https://github.com/axelarnetwork/axelarate-community.git) и второй командой заходим в каталог:

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

Проверим правильность скаченного репризитория с помошью команды ниже. Нужный тэг можно найти тут <https://docs.axelar.dev/#/resources/testnet-releases>\
Пример команды - `git checkout v0.7.6`

```
git checkout <release-tag>
```

### Запускаем скрипт

**Перед тем как запустить скрипт** давайте его изменим. \
Надо изменить поле `external_address` в файле `join/config.toml` вставив IP своей ноды и нужный порт rpc. Определить свой IP-адрес можно с помощью [этого сайта](https://whatismyipaddress.com/).&#x20;

```bash
external_address = "ххх.ххх.ххх.ххх:26656"
```

{% hint style="info" %}
Должны быть открыты порты 1317, 26656-26658 и 26660.
{% endhint %}

{% hint style="info" %}
Ниже список флагов которые могут использовать для скрипта установки:

```log
Usage: join-testnet.sh [flags]

Optional flags:
--axelar-core        Version of axelar-core docker image to run (Format: vX.Y.Z) (Default: scraped from https://axelardocs.vercel.app/testnet-releases)
-r, --root           Local directory to store testnet data in (IMPORTANT: this directory is removed and recreated if --reset-chain is set)
--tendermint-key     Path to the tendermint private key file. Used for recovering a node.
--validator-mnemonic Path to the Axelar validator key. Used for recovering a node.
--reset-chain        Delete local data to do a clean connect to the testnet (If you participated in an older version of the testnet)
```

{% endhint %}

Есть несколько вариантов запуска скрипта <mark style="color:orange;">`join/join-testnet.sh`</mark>. Обратите внимание, что к нему можно добавить флаги.  \
1\) Надо посмотреть [релизы testnet](https://docs.axelar.dev/#/resources/testnet-releases) , добавить к <mark style="color:orange;">`join/join-testnet.sh`</mark> нужный флаг и версию тестнета и ввести измененную команду.

В нашем случае для установки последней версии нам понадобится команда `join/join-testnet.sh --axelar-core v0.9.6` <br>

2\) Либо Вы можете получить последнюю версию и сохранить ее в переменных:

```bash
AXELAR_CORE_VERSION=$(curl -s https://raw.githubusercontent.com/axelarnetwork/axelarate-community/main/documentation/docs/resources/testnet-releases.md  | grep axelar-core | cut -d \` -f 4)
echo ${AXELAR_CORE_VERSION}
```

И запускаем <mark style="color:orange;">`join/join-testnet.sh`</mark> при первоначальной установке. Либо добавляем флаг `--reset-chain` если была установлена не та сеть.

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

```yaml
Axelar node running.

Validator address: axelarvaloper1ttxxytlz377agnvzqhllzxmg7dd76tnrwzyahz


- name: validator
  type: local
  address: axelar1ttxxytlz377agnvzqhllzxmg7dd76tnrwrjc9d
  pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A+O6nUmpQs1meQLtr2RaG5DExv1nyU9cQJKeAUJNH828"}'
  mnemonic: ""


**Important** write this mnemonic phrase in a safe place.
It is the only way to recover your account if you ever forget your password.

naive segment sword error champion pyramid world spend tool reason sound hub barrel amazing parade ahead lamp flag disorder sunny loop artist almost expire

Do not forget to also backup the tendermint key (/Users/talalashraf/.axelar_testnet/.core/config/priv_validator_key.json)

To follow execution, run 'docker logs -f axelar-core'
To stop the node, run 'docker stop axelar-core'
```

❗️<mark style="color:red;">Сделайте Backup.</mark> Важно записать в секретное место <mark style="color:red;">mnemonic phrase</mark>. Восстановить кошелек на другой ноде получится только с помощью mnemonic phrase.

Wait for your node to catch up with the network before proceeding. Use `docker logs -f axelar-core` to keep an eye on the node's progress (this can take a while).

Подождите, пока ваш узел засинхронизируется, прежде чем продолжить.&#x20;

Используйте, `docker logs -f axelar-core` чтобы следить за прогрессом (это может занять некоторое время).

Можно проверить статус синхронизации с помощью команды:

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

**Ответ:**

```json
{ 
 "latest_block_hash": "0B64D2A0EDAB6CEF229510E52F137130134D94AAD64EACB553D51D01B0D1A446",
 "latest_app_hash": "FA3730F49F491DCFF38687F2603CF154563AFA9C77331AF75340C554CB555EFC",
 "latest_block_height": "17051",
 "latest_block_time": "2021-06-01T23:41:43.161261874Z",
 "earliest_block_hash": "080E6B9FC64778F3E0671E046575D3460984F5B1F584E1F2D467341061C7627A",
 "earliest_app_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
 "earliest_block_height": "1",
 "earliest_block_time": "2021-05-31T21:05:12.032466392Z",
 "catching_up": true
}
```

Ждем пока статус `catching_up` сменится на `false`

### Логи <a href="#logging-to-file" id="logging-to-file"></a>

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

```bash
docker logs -f axelar-core 2&> testnet.log
```

Мониторить лог-файл в реальном времени можно в новом окне терминала:

```bash
tail -f testnet.log
```

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

```bash
docker logs -f axelar-core 2>&1 | grep -a -e threshold -e num_txs -e proxies
```

### Сгенерируем ключ в сети Axelar и пополним <a href="#generate-a-key-on-axelar-and-get-test-tokens" id="generate-a-key-on-axelar-and-get-test-tokens"></a>

1. В новом окне терминала надо ввести:

   ```bash
   docker exec -it axelar-core sh
   ```
2. По умолчанию узел имеет учетную запись с именем validator. Найдем его адрес:

   ```bash
   axelard keys show validator -a
   ```
3. Переходим к крану с тестовыми токенами Axelar чтобы получить монеты на сгенерированный адрес (нода еще не является валидатором, validator - это просто имя учетной записи). <http://faucet.testnet.axelar.dev/>
4. Убедитесь, что вы получили средства

   ```bash
   axelard q bank balances {output_addr_from_step_2}
   ```

   например:

   ```bash
   axelard q bank balances axelar1hk3xagjvl4ee8lpdd736h6wcwsudrv0f5ya2we
   ```

{% hint style="info" %}
&#x20;<img src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a1.png" alt="" data-size="line">Баланс появится только после полной синхронизации с сетью
{% endhint %}

### Аккаунт Ethereum в тестовой сети

Axelar подписывает мета транзакции для Ethereum, что означает, что любая учетная запись Ethereum может отправлять команды выполнения транзакций, если команды подписаны ключом Axelar. На данный момент все транзакции, связанные с Ethereum, отправляются с адресов в тестовой сети Ropsten.

### Полезные команды

Нода Axelar может запустить до трех докер контейнеров ( `axelar-core`, `vald`  и `tofnd`). Если вы не используете ноду в качестве валидатора, вам нужен только `axelar-core` контейнер.

Остановить/удалить эти контейнеры можно, используя:

```bash
docker stop axelar-core vald tofnd
```

Если вы видите ошибку, связанную с недостаточным количеством газа в любой момент рабочего процесса, надо добавить флаги

```bash
--gas=auto --gas-adjustment 1.2
```

### Стоп и рестарт тестовой сети

Чтобы выйти из CLI узла Axelar, введите `exit`или нажмите Control+D. Чтобы остановить узел, откройте новый терминал CLI и запустите

```bash
docker stop $(docker ps -a -q)
```

Предупреждение: это остановит все запущенные в данный момент контейнеры. Если вы хотите остановить определенный контейнер, введите, `docker stop {specific container ID}`.

Чтобы перезапустить ноду,снова запустите скрипт `join/join-testnet.sh` с той же `--axelar-core`версией (и, возможно, `--root`), что и раньше. НЕ используйте флаг `--reset-chain`, так как это приведет к тому, что ваш узел начнет заново синхронизироваться с самого начала (**и если вы не создали резервную копию своих ключей, они будут потеряны**).

Чтобы снова войти в CLI узла Axelar:

```bash
docker exec -it axelar-core sh
```
