👩‍🚀Мэйннет Валидатор

Превратите текущий узел в валидатор в основной сети.

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

Существует три (3) важнейших процесса, необходимых для здорового узла валидатора:

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

Матрица Совместимости Релизов

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

Набор Ключей

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

umeed keys add <key-name> [flags]

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

Если у вас уже есть ключ, который вы хотите импортировать с помощью мнемонической фразы, вы можете указать флаг --recover, и команда keys add предложит вам ввести мнемоническую фразу BIP39.

Посетите документацию по ключам Cosmos SDK для получения дополнительной информации.

Узел Ethereum

Gravity Bridge требует, чтобы валидаторы в дополнение к процессу umeed запускали оркестратор peggo. Оркестратору требуется доступ к RPC узла geth. Можно использовать легкий клиент geth, но предпочтительнее использовать полноценный узел.

Вы можете запустить собственный узел geth или использовать общедоступный узел. Однако в производственных средах рекомендуется использовать свой собственный узел. В зависимости от того, в какой сети вы запускаете свой валидатор Umee, вам необходимо подключить или настроить узел geth к соответствующей сети Ethereum. Дополнительную информацию о подключении к различным сетям Ethereum можно найти в документации geth CLI.

Выполните следующие шаги, чтобы установить узел GETH и превратить ваш узел Umee в валидатор:

  1. Сначала установите бинарный файл go-ethereum:

  • Загрузите последний двоичный файл с сайта https://geth.ethereum.org/downloads.

  • Распакуйте: tar xf <archive name>

  • chmod +x geth-*/geth

  • sudo mv geth-*/geth /usr/local/bin

  1. Создайте новый кошелек ethereum. Скопируйте адрес кошелька и не забудьте сохранить закрытые ключи.

geth account new

Или вы можете просмотреть хранилище ключей с помощью следующей команды

geth account list
  1. Создайте файл службы systemd для вашего клиента GETH

sudo tee /etc/systemd/system/geth.service > /dev/null <<EOF
[Unit]
Description=Geth node
After=online.target
[Service]
User=$USER
ExecStart=/usr/local/bin/geth --syncmode light --http --http.addr=0.0.0.0 --http.port=8545 --goerli
Restart=on-failure
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF
  1. Запустите сервис

sudo systemctl daemon-reload
sudo systemctl enable geth
sudo systemctl start gethee

Peggo

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

  1. Скачать Peggo: последний релиз оркестратора gravity bridge для вашей архитектуры. Вы можете собирать из исходного кода. Переместите двоичный файл в /usr/local/bin.

  2. Давайте экспортируем некоторые дополнительные переменные. Во всех приведенных ниже командах в первой команде вы получите значение, которое необходимо для замены части в следующей команды.

Адрес валидатора:

umeed keys show UMEE_WALLET_NAME --bech val -a
echo 'export VAL_ADDRESS=VALIDATOR_ADDRESS' >> ~/.profile

Адрес кошелька Umee:

umeed keys show UMEE_WALLET_NAME -a
echo 'export PEGGO_UMEE_KEY=UMEE_WALLET_ADDRESS' >> ~/.profile

Адрес кошелька Ethereum:

peggo keys eth show ETH_WALLET_NAME
echo 'export PEGGO_ETH_KEY=ETH_WALLET_ADDRESS' >> ~/.profile
source ~/.profile
  1. Зарегистрируйте Ethereum-ключ валидатора. Этот ключ будет использоваться для подписи сообщений, идущих из Ethereum в Umee, и для подписи любых транзакций, отправляемых в Ethereum (партии или обновления набора валидаторов).

Примечание: не включайте скобки {} при заполнении этих переменных

$ umeed tx gravity set-orchestrator-address \
  {VAL_ADDRESS} \
  {VAL_ADDRESS or different ORCHESTRATOR_ADDRESS} \
  {PEGGO_ETH_KEY} \
  --eth-priv-key="..." \
  --chain-id="..." \
  --fees="..." \
  --keyring-backend=... \
  --keyring-dir=... \
  --from=...
  1. Запустите Оркестратор

export PEGGO_ETH_PK={ETHEREUM_PRIVATE_KEY_HERE}
$ /usr/local/bin/peggo orchestrator {GRAVITY_ADDRESS} \
  --eth-rpc=$ETH_RPC \
  --relay-batches=true \
  --valset-relay-mode=minimum \
  --cosmos-chain-id=... \
  --cosmos-grpc="tcp://..." \
  --tendermint-rpc="http://..." \
  --cosmos-keyring=... \
  --cosmos-keyring-dir=... \
  --cosmos-from=...
  1. По желанию создайте служебный файл для автоматического запуска оркестратора:

sudo tee /etc/systemd/system/peggo.service > /dev/null <<EOF
[Unit]
Description=Gravity Bridge Orchestrator
After=online.target
[Service]
User=$USER
Environment="RUST_LOG=INFO"
ExecStart={COMMAND-FROM-STEP-8-ABOVE}
Restart=on-failure
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF
  1. Проверьте состояние синхронизации. Если catching_up равен true, подождите, пока он не станет false. Этот процесс может занять некоторое время.

umeed status 2>&1 | jq -r '.SyncInfo.catching_up'
  1. Проверьте, получили ли вы токены из крана или есть ли токены в вашем новом кошельке Umee.

umeed q bank balances $(umeed keys show UMEE_WALLET_NAME -a)
  1. Если узел был синхронизирован и у вас есть токены, вы можете создать валидатор, используя следующие команды:

umeed tx staking create-validator \
--from UMEE_WALLET_NAME \
--amount 990000000uumee \
--pubkey $(umeed tendermint show-validator) \
--chain-id umee-1 \
--moniker=YOUR-MONIKER \
--commission-max-change-rate=0.10 \
--commission-max-rate=1.0 \
--commission-rate=0.08 \
--min-self-delegation="1" \
--fees=200uumee
#--amount can be different just keep on the wallet 10000000uumee
  1. Привяжите все ключи к мосту:

umeed tx gravity set-delegate-keys $VAL_ADDRESS $PEGGO_UMEE_KEY $PEGGO_ETH_KEY $PEGGO_ETH_SIG \
  --chain-id="umee-1" --from=UMEE_WALLET_NAME --fees=200uumee --gas auto

Внимательно проверьте, не завершилась ли эта операция неудачно. Она требует много газа, что может быть источником проблемы. Также, если вы получили "signing validation error", повторите последние 3 команды.

  1. После успешной транзакции из шага 9 - запустите оркестратор.

sudo systemctl daemon-reload
sudo systemctl enable peggo
sudo systemctl start peggo

Чтобы проверить журналы и убедиться, что все в порядке, используйте следующие команды:

journalctl -u umeed -f
journalctl -u peggo -f
journalctl -u geth -f

Price Feeder

Модуль x/oracle module требует, чтобы все валидаторы проголосовали за цены активов, которые управление решило добавить. Чтобы проголосовать за эти цены, команда umee построила price feeder.

Пожалуйста, нажмите здесь, чтобы узнать, какая версия price feeder совместима с вашей версией бинарного файла umeed. Это не обязательно для umeed v1.0.x.

Если обновление calypso (V3) прошло успешно, вы обязательно должны проголосовать по ценам, чтобы избежать тюрьмы и слэшинга.

  1. Сначала установите последнюю версию бинарного файла price-feeder: Релизы

  • Распакуйте tar с правильной архитектурой самой последней версии price-feeder

  • Сделать двоичный файл исполняемым: chmod +x price-feeder-v*/price-feeder*

  • переместить двоичный файл в /usr/local/bin

  1. Скачайте пример конфигурационного файла, также на Github

cd /usr/local/bin/
wget https://raw.githubusercontent.com/umee-network/umee/main/price-feeder/price-feeder.example.toml
  1. Замените значения примера в своем конфиге. Настройте свои ключи, используя описание здесь.

Обновите информацию [account], указав правильный chain-id (umee-1 для mainnet), адрес и адрес валидатора с вашего набора ключей.

[account]
address = "umee15nejfgcaanqpw25ru4arvfd0fwy6j8clccvwx4"
chain_id = "umee-1"
validator = "umeevaloper12tysz6mzrawenca2t3t7ltym4hfjj8a5upsn2k"
  1. Для получения адреса и адреса валидатора, получив ключ с именем alice, вы можете выполнить:

umeed keys show alice -a --bech=acc
umeed keys show alice -a --bech=val
  1. Создайте файл службы systemd

sudo tee /etc/systemd/system/price-feeder.service > /dev/null <<EOF
[Unit]
Description=Umee Price Feeder
After=online.target[Service]
StartLimitIntervalSec=0
StartLimitBurst=0

[Service]
Type=simple
User=$USER
WorkingDirectory=/usr/local/bin
ExecStart=bash -c 'echo "\n" | price-feeder .price-feeder/config.toml --log-level debug'
Restart=on-failure
RestartSec=5s
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Примечание: Price feeder обращается к большому количеству конечных точек для получения цен на активы. Иногда соединения websocket разрываются и не могут подключиться снова. Если это происходит, настройте служебный файл на перезапуск процесса через несколько часов:

Restart=always
RuntimeMaxSec=14400s # 4h
  1. Запустите ваш сервис

sudo systemctl daemon-reload
sudo systemctl enable price-feeder
sudo systemctl start price-feeder
  1. Пожалуйста, проверьте, успешно ли работает ваш price feeder

sudo journalctl -u price-feeder.service -f

Если это не так, проверьте конфигурацию. Распространенными проблемами являются:

  • Неправильный адрес

  • Неправильный идентификатор цепи

  • Неверная информация о наборе ключей

  • Неверные провайдеры / пары токенов - проверьте coingecko, чтобы увидеть доступных провайдеров для данной монеты

  • Не происходит голосование по всем необходимым токенам

  1. Когда вы готовы делегировать согласие на трансляцию цен, аргумент price-feeder_address будет таким же, как address = из вашего price-feeder.toml, например.

umeed tx oracle delegate-feed-consent <validator_adress> <price-feeder_address> --chain-id umee-1 --fees 2000uumee

Calypso - v3 Инструкции по обновлению

Обзор

Calypso - v3 - это последний релиз технологии блокчейн от Umee Network. В дополнение к Peggo, валидаторы v3 также должны запускать наш процесс Price Feeder, иначе они попадут в тюрьму и будут слэшированы! Price Feeder собирает и агрегирует данные о курсовых ценах от различных поставщиков, а затем предоставляет их основному процессу оракула.

Примечания К Релизу

Официальный релиз Price Feeder, v1.0.0

Установка

Если cosmovisor уже установлен для автоматической подмены двоичных файлов, перейдите к установке Price Feeder.

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

Last updated