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

Пошаговая инструкция по запуску полной ноды Umee

Установка

Перед тем, как начать установку, проверьте актуальную версию umeed в официальном репозитории, в соответствующей таблице. Там указаны актуальные версии исполняемых файлов, а также ID текущих сетей.

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

Для установки umeed из исходного кода, убедитесь, что на вашей ОС установлен Golang версии 1.17 или более поздней. Инструкции по установке Go доступны на официальной странице.

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

# Замените 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

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

При синхронизации с первого блока удостоверьтесь, что используете версию v1.0.2 до того момента, когда ваша нода не синхронизируется до блока 24 615, затем вам следует обновиться до версии v1.0.3.

$ umeed version

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

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

  • 2+ vCPU

  • 4+ GB RAM

  • 120+ GB SSD

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

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

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

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

Обратите внимание, что при присоединении к существующей сети указанное значение --chain-id не так важно, так как далее файл genesis.json будет нами заменён.

После инициализации, перезапишите изначальный файл genesis.json, используя файл для выбранной вами сети. Вы сможете найти актуальные genesis.json файлы в нашем репозитории или в другом доверенном источнике:

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

Удостоверьтесь, что SHA256 сумма genesis файла совпадает со значением в репозитории Umee.

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

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

  • config.toml: Используется для конфигурации Tendermint. Для изучения Tendermint воспользуйтесь официальной документацией.

  • 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

    • 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, пожалуйста прочтите инструкции по установке.

Устанавливайте DAEMON_ALLOW_DOWNLOAD_BINARIES=true если запускаете полную ноду. Валидаторам рекомендуется скачивать и устанавливать двоичные файлы заранее и проверять правильность их работы.

Last updated