# Полная Нода (Full Node)

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

Перед тем, как начать установку, проверьте актуальную версию `umeed` в официальном репозитории, в соответствующей [таблице](https://github.com/umee-network/umee#compatibility-matrix). Там указаны актуальные версии исполняемых файлов, а также ID текущих сетей.

Вы можете выбрать между сборкой `umeed` из исходного кода или простым скачиванием бинарного файла, подходящего для нужной вам ОС и архитектуры в списке [релизов](https://github.com/umee-network/umee/releases).

Для установки `umeed` из исходного кода, убедитесь, что на вашей ОС установлен Golang версии 1.17 или более поздней. Инструкции по установке Go доступны на официальной [странице](https://golang.org/doc/install).

Когда Go установлен правильно, клонируйте репозиторий Umee и установите бинарный файл:

```bash
# Замените vX.Y.Z на подходящую вам версию, например, v1.0.1
$ git clone --depth 1 --branch vX.Y.Z https://github.com/umee-network/umee.git
$ cd umee && make install
```

После установки удостоверьтесь, что всё работает, проверив версию:

{% hint style="warning" %}
При синхронизации с первого блока удостоверьтесь, что используете версию v1.0.2 до того момента, когда ваша нода не синхронизируется до блока 24 615, затем вам следует обновиться до версии v1.0.3.
{% endhint %}

```bash
$ umeed version
```

### **Минимальные Системные Требования**

Рекомендуемые системные требования для запуска Umee будут различаться в зависимости от вариантов использования и желаемой функциональности ноды. Например, необходимое количество дискового пространства будет различаться для архивной ноды или для ноды, предоставляющей снэпшоты для быстрой синхронизации. В общем мы рекомендуем минимальные системные требования:

* 2+ vCPU
* 4+ GB RAM
* 120+ GB SSD

### Инициализация

Перед тем как запустить ноду нам необходимо пройти процедуру инициализации нашей ноды:

```bash
# Замените <moniker> на желаемое название вашей ноды и укажите ID сети
$ umeed init <moniker> --chain-id <chain-id>
```

Команда выше создаёт и инициализирует директорию `.umee` по адресу $HOME по умолчанию. Эта директория содержит необходимые вам файлы для запуска ноды с `genesis.json` файлом по умолчанию. Вы можете изменить расположение директории `.umee`, указав при инициализации флаг `--home`

{% hint style="info" %}
Обратите внимание, что при присоединении к существующей сети указанное значение `--chain-id` не так важно, так как далее файл genesis.json будет нами заменён.
{% endhint %}

После инициализации, перезапишите изначальный файл genesis.json, используя файл для выбранной вами сети. Вы сможете найти актуальные `genesis.json` файлы в нашем [репозитории](https://github.com/umee-network/umee) или в другом доверенном источнике:

```bash
$ cd ~/.umee/config
$ wget https://github.com/umee-network/mainnet/raw/main/genesis.json
```

{% hint style="info" %}
Удостоверьтесь, что SHA256 сумма genesis файла совпадает со значением в репозитории Umee.
{% endhint %}

### **Конфигурация**

Перед стартом вашей ноды, важно удостовериться и изменить конфигурацию, как вам необходимо. Есть три главных конфигурационных файла, которые располагаются в `~/.umee/config` :

* `config.toml`: Используется для конфигурации Tendermint. Для изучения Tendermint воспользуйтесь официальной [документацией](https://docs.tendermint.com/master/nodes/configuration.html).
* `app.toml`: Используется для конфигурации приложения Umee. Он включает такие параметры как размер обрезки (pruning), синхронизация, минимальная комиссия за газ и настройки API/gRPC.
* `client.toml`: Используется для конфигурировании с клиентской стороны при использовании приложения `umeed` для командной строки для взаимодействия с сетью. Эта конфигурация является совершенно необязательной и в основном используется для удобства, чтобы избежать ввода одних и тех же аргументов в команды приложение `umeed` в командной строке.

**И** `config.toml` **и** `app.toml` **хорошо закомментированы, внутри даны пояснения как изменять те или другие настройки.**

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

* `app.toml`
  * `minimum-gas-prices`: Установите это значение не пустым для того, чтобы нода при процессинге транзакций запрашивала минимальную комиссию и не проводила транзакции бесплатно, например `minimum-gas-prices = "0.001uumee"`. Напомним, что комиссия за транзакцию рассчитана как `fee = (tx.gasLimit * tx.gasPrice)`, поэтому комиссия за транзакцию должна быть как минимум `(minimumGasPrice * tx.gasPrice)`
  * `pruning`: По умолчанию приложение будет хранить 362 880 блоков и обрезать оставшиеся. Вам следует изменить это значение, если вы хотите обрезать весь блокчейн (`pruning = "everything"`) или если хотите хранить весь блокчейн (`pruning = "nothing"`)
  * `min-retain-blocks`: Это значение относится к обрезке блоков Тендерминтом. Оно отличается от `pruning`, который относится к записям самого приложения. Когда значение не пустое, приложение будет уведомлять Tendermin обрезать блоки, расположенные за значением `min-retain-blocks`. Помните, что приложение будет требовать минимальное количество блоков, установленное в `pruning`. Поэтому это поле не должно быть меньше чем `pruning`.
  * `api.enable`: Позволяет дать доступ к API (gRPC HTTP gateway) сервису.
  * `grpc.enable`: Позволяет дать доступ к gRPC сервису.
* `config.toml`&#x20;
  * `rpc.laddr`: По умолчанию, RPC Tendermint слушает интерфейс на localhost. Если вам необходимо иметь внешний доступ к RPC Tendermint, установите этот параметр на 0.0.0.0 чтобы иметь доступ на всех интерфейсах/IP.
  * `p2p.external_address`: Установите это значение на публичный и статичный адрес IP вашей ноды. Это поможет удостовериться другим нодам при p2p соединении иметь возможность успешно присоединиться к вашей ноде.
  * `p2p.seeds`: Пропишите здесь список доступных seed нод. Seed ноды это ноды, которые обменяются с вашей нодой актуальной информацией о пирах, а затем отсоединятся. Оставьте пустым это значение если у вас нет доступных или известных пиров для соединения.
  * `p2p.persistent_peers`: Укажите здесь список доступных и доверенных пиров.

### **Cosmovisor И Управление Сервисами**

Мы поддерживаем использование `systemd` в дополнение к `cosmovisor`, бинарный супервизор сети cosmos для управления вашим `umeed`.

Для детальных инструкций по установке [cosmovisor](https://docs.cosmos.network/master/run-node/cosmovisor.html), пожалуйста прочтите [инструкции по установке](https://docs.cosmos.network/master/run-node/cosmovisor.html#setup).

{% hint style="warning" %}
Устанавливайте DAEMON\_ALLOW\_DOWNLOAD\_BINARIES=true если запускаете полную ноду. Валидаторам рекомендуется скачивать и устанавливать двоичные файлы заранее и проверять правильность их работы.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://elysium1.gitbook.io/umee-russian/tekhnicheskii-razdel/zapusk-nody/polnaya-noda-full-node.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
