Umee | umeevengers-1c
⠀Umee — это кросс-чейн DeFi-хаб, который позволяет брать средства взаймы на одном блокчейне, под залог средств на другом.
Содержание
Требования к серверу
⠀Рекомендуемые:
VPS/VDS/DS: 2 CPU, 4 GB RAM, 400 GB SSD, Ubuntu 20.04
Регистрация
Регистрация на текущий этап закрыта, для участия было отобрано 300 человек, для 200 из которых (активные) актуален гайд ниже
Подготовка
⠀Установить ноду последней версии
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Umee/main/multi_tool.sh)
⠀Придумать название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_moniker
⠀Придумать название кошелька, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_wallet_name
umeed keys show "$umee_wallet_name"
umeed keys add "$umee_wallet_name" --recover
⠀Необходимо ввести мнемоническую фразу от кошелька и дважды пароль для ноды
umeed init "$umee_moniker" --overwrite --chain-id "$umee_chain"
⠀Сделать резервную копию папки с настройками, сохранив себе на ПК (команда отображает путь)
echo $HOME/.umee/config/
umeed add-genesis-account "$umee_wallet_name" 1000000000uumee
⠀При желании можно добавить опцию --identity "___" \
с Keybase ключом для установки аватара
umeed gentx "$umee_wallet_name" 1000000uumee \ --moniker "$umee_moniker" \ --chain-id "$umee_chain" \ --commission-rate 0.05 \ --commission-max-rate 0.10 \ --commission-max-change-rate 0.01 \ --min-self-delegation 1 \ --output-document "$HOME/$umee_moniker.json"
Pull Request
⠀Перейти в GitHub репозиторий
⠀Название задать как созданный генезис файл
echo "$umee_moniker.json"
⠀В содержимое поместить содержимое созданного ранее генезис файла
cat "$HOME/$umee_moniker.json"
⠀Сохранить ссылку на Pull Request
Заполнение формы
⠀Открыть Google форму и заполнить поля:
Email
— электронная почта;Discord ID
— ID аккаунта Discord типаxxxxxx#0000
;Umee valoper address
— адрес валидатора, можно узнать командой
cat "$HOME/$umee_moniker.json" | jq -r ".body.messages[0].validator_address"
cat "$HOME/$umee_moniker.json" | jq -r ".body.messages[0].delegator_address"
Запуск
⠀Добавить адрес кошелька в систему в виде переменной (необходимо ввести пароль от кошелька)
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_wallet_address -v `umeed keys show "$umee_wallet_name" -a`
⠀Добавить ID сети в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_chain -v "umeevengers-1c"
sudo systemctl stop umeed
wget -qO $HOME/.umee/config/genesis.json "https://raw.githubusercontent.com/umee-network/testnets/main/networks/${umee_chain}/genesis.json"
sed -i -e "s%^moniker *=.*%moniker = \"$umee_moniker\"%; s%^external_address *=.*%external_address = \"`wget -qO- eth0.me`:26656\"%; s%^persistent_peers *=.*%persistent_peers = \"`wget -qO - https://raw.githubusercontent.com/umee-network/testnets/main/networks/$umee_chain/persistent_peers.txt | tr '\n' ',' | sed 's%,$%%'`\"%" $HOME/.umee/config/config.toml
⠀Изменить минимальную цену газа
sed -i -e "s%^minimum-gas-prices *=.*%minimum-gas-prices = \"0.001uumee\"%" $HOME/.umee/config/app.toml
⠀На всякий случай ещё раз сбросить состояние валидатора
umeed unsafe-reset-all
echo "[Unit] Description=Umee node After=network.target [Service] User=$USER ExecStart=`which umeed` start Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target" > /etc/systemd/system/umeed.service
sudo systemctl daemon-reload sudo systemctl enable umeed sudo systemctl restart umeed
⠀Добавить команды в систему в виде переменных:
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_log -v "sudo journalctl -fn 100 -u umeed" -a . <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Umee/main/node_info.sh) -l RU 2>/dev/null" -a
Информация о ноде
⠀Добавить команду для просмотра информации о ноде в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Umee/main/node_info.sh) -l RU 2>/dev/null" -a
umee_node_info
Задания 03.11
Транзакция
⠀Добавить команду для просмотра информации о ноде в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Umee/main/node_info.sh) -l RU 2>/dev/null" -a
⠀Запустить команду для просмотра информации о ноде и ввести пароль, если попросит
umee_node_info
⠀Проверить добавление адреса в виде переменной (должна вывести адрес)
echo $umee_wallet_address
⠀Отправить 1 uumee на любой кошелёк (в команде можно изменить адрес конечного кошелька, необходимо ввести пароль)
umeed tx bank send "$umee_wallet_address" umee1uw0uy65pdrpge0xjp492qfqywqpvl5q44v0upx 1uumee \ --chain-id umeevengers-1c \ --from "$umee_wallet_address" \ --gas 300000 \ --fees 300uumee \ --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml` \ -y
⠀Успешно отправленная транзакция выглядит примерно как на скриншоте ниже
⠀Записать хэш транзакции для заполнения формы (выделен на скриншоте)
Делегация
⠀Делегировать 100 uumee на другого, не своего, валидатора (в команде можно изменить адрес валидатора, необходимо ввести пароль)
umeed tx staking delegate umeevaloper1uw0uy65pdrpge0xjp492qfqywqpvl5q44ggnsv 100uumee \ --chain-id umeevengers-1c \ --from "$umee_wallet_address" \ --gas 300000 \ --fees 300uumee \ --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml` \ -y
⠀Успешно отправленная транзакция выглядит примерно как на скриншоте ниже
⠀Записать хэш транзакции для заполнения формы (выделен на скриншоте)
Ределегация
⠀Перевести делегацию в размере 90 uumee с валидатора из прошлого шага на другого, не своего, валидатора (в команде можно изменить адрес конечного валидатора, необходимо ввести пароль)
umeed tx staking redelegate umeevaloper1uw0uy65pdrpge0xjp492qfqywqpvl5q44ggnsv umeevaloper149sh9q0drmv94naxfuf3vr3lv3zscqxr0dhv2g 90uumee \ --chain-id umeevengers-1c \ --from "$umee_wallet_address" \ --gas 300000 \ --fees 300uumee \ --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml` \ -y
⠀Успешно отправленная транзакция выглядит примерно как на скриншоте ниже
⠀Записать хэш транзакции для заполнения формы (выделен на скриншоте)
Снятие делегации
⠀Снять с делегации 80 uumee с последнего валидатора (в команде можно изменить адрес валидатора, необходимо ввести пароль)
umeed tx staking unbond umeevaloper149sh9q0drmv94naxfuf3vr3lv3zscqxr0dhv2g 80uumee \ --chain-id umeevengers-1c \ --from "$umee_wallet_address" \ --gas 300000 \ --fees 300uumee \ --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml` \ -y
⠀Успешно отправленная транзакция выглядит примерно как на скриншоте ниже
⠀Записать хэш транзакции для заполнения формы (выделен на скриншоте)
Попадание в тюрьму
⠀Таким способом решила задачу наша команда, не факт, что способ верный. Пообщаться на эту тему можно в Discord чате и в русскоязычной группе Telegram.
⠀Вспомнить название кошелька, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_wallet_name
⠀Импортировать кошелёк в беспарольный тип хранения (необходимо ввести мнемоническую фразу, которe. необходимо было сохранить при самой первой установке ноды)
umeed keys add "$umee_wallet_name" --recover --keyring-backend test
sudo apt install tmux -y
tmux new -s jail_task
⠀Запустить скрипт и дождаться окончания работы
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Umee/main/jail_task.sh)
Не останавливать скрипт, дождаться окончания работы
⠀RPC по умолчанию может не выдержать нагрузки, поэтому желательно как-то скоординироваться или указать другой RPC, подробнее на странице помощи
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Umee/main/jail_task.sh) -h
⠀Если связь с серверам была потеряна, то вернуться в окно можно командой
tmux attach -t jail_task
⠀Сохранить выведенные значения себе в текстовый документ для дальнейшего заполнения формы. Вывести ещё раз можно командой
echo "`pwd`/${file_name}"
exit
Проверка
⠀Для проверки транзакций необходимо зайти в Explorer и в поиске ввести по очереди сохранённые хэши транзакций (пример транзакции)
⠀В поле «Messages» у введённых транзакций должен быть указан тип:
⠀Для проверки информации о попадании в тюрьму необходимо открыть файл, созданный скриптом (по умолчанию echo $HOME/jail_task.txt
), и произвести проверку параметров по алгоритму ниже
Jailing block height: 188329 Jailing timestamp: 2021-11-03T20:46:23Z Jailing tx HASH: 3F8D6E02CA59CA74D8A3326068891B24A11A21502308E32FA14B5BECB82F03AF Unjailing block height: 188432 Unjailing timestamp: 2021-11-03T20:56:43Z Unjailing tx HASH: 23B251D497B3C21F7C2BBF9399077A2410173182DD01F8FF9115C1E9A03842F7 Block numbers you missed while in jail: 188329-188432
⠀Подставить в переменную block
своё значение (из примера 188329
) и проверить блок до попадания в тюрьму
moniker=`umeed status 2>&1 | jq -r ".NodeInfo.moniker"`; \ node_info=`umeed query staking validators --limit 1500 --output json | jq -r '.validators[] | select(.description.moniker=='\"$moniker\"')'`; \ validator_address=`jq -r ".operator_address" <<< $node_info`; \ block=188329; \ umeed query staking historical-info $((block-1)) --output json | jq -r '.valset[] | select(.operator_address=='\"$validator_address\"')'
⠀Проверить блок в момент попадания в тюрьму
umeed query staking historical-info $block --output json | jq -r '.valset[] | select(.operator_address=='\"$validator_address\"')'
⠀Проверить блок после попадания в тюрьму
umeed query staking historical-info $((block+1)) --output json | jq -r '.valset[] | select(.operator_address=='\"$validator_address\"')'
⠀Проверить время попадания в тюрьму
umeed query staking historical-info $block --output json | jq -r ".header.time"
⠀Проверить хэш блока попадания в тюрьму
wget -qO- "http://62.171.166.224:26657/block?height=${block}" | jq -r ".result.block_id.hash"
⠀Подставить в переменную block
своё значение (из примера 188432
) и проверить блок выхода из тюрьмы
block=188432; \ umeed query staking historical-info $block --output json | jq -r '.valset[] | select(.operator_address=='\"$validator_address\"')'
⠀Проверить блок после выхода из тюрьмы
umeed query staking historical-info $((block+1)) --output json | jq -r '.valset[] | select(.operator_address=='\"$validator_address\"')'
⠀Проверить время выхода из тюрьмы
umeed query staking historical-info $block --output json | jq -r ".header.time"
⠀Проверить хэш блока выхода из тюрьмы
wget -qO- "http://62.171.166.224:26657/block?height=${block}" | jq -r ".result.block_id.hash"
Отправка формы
⠀Открыть форму и заполнить её используя сохранённые данные.
Задания 13.11
Сбор наград
⠀Для получения предложением возможности голосования нужно 10 umee, получить которые можно сняв комиссионные с валидатора
local_rpc=`grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml`; \ moniker=`umeed status --node "$local_rpc" 2>&1 | jq -r ".NodeInfo.moniker"`; \ validator_address=`umeed query staking validators --node "$local_rpc" --limit 1500 --output json | jq -r '.validators[] | select(.description.moniker=='\"$moniker\"')' | jq -r ".operator_address"`; \ umeed tx distribution withdraw-rewards "$validator_address" \ --chain-id "$umee_chain" \ --from "$umee_wallet_name" \ --commission \ --gas 300000 \ --fees 300uumee \ --node "$local_rpc" \ -y
⠀Проверить сбор комиссионных и записать адрес кошелька
umee_node_info
Создание предложения
⠀Чтобы создать предложение с депозитом в размере 1 umee необходимо выполнить команду
umeed tx gov submit-proposal \ --title "Hello everyone! I'm $umee_moniker" \ --description "Hello or no?" \ --type "Text" \ --deposit 1000000uumee \ --from "$umee_wallet_name" \ --chain-id umeevengers-1c \ --gas 300000 \ --fees 300uumee \ --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml` \ -y
⠀Успешно отправленная транзакция выглядит примерно как на скриншоте ниже
⠀Записать хэш транзакции и ID предложения для заполнения формы (выделены на скриншоте)
Депозит
⠀Для того, чтобы у предложения появилась возможность голосования, нужен взнос в размере как минимум 10 umee, поэтому необходимо внести ещё 9 umee.
Внести недостающую часть депозита командой
umeed tx gov deposit PROPOSAL_ID 9000000uumee \ --from "$umee_wallet_name" \ --chain-id umeevengers-1c \ --gas 300000 \ --fees 300uumee \ --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml` \ -y
PROPOSAL_ID
— ID предложения, сохранённый ранее, если был потерян, то можно найти в общем списке предложений в Explorer’е.
⠀Успешно отправленная транзакция выглядит примерно как на скриншоте ниже
⠀Записать хэш транзакции для заполнения формы (выделен на скриншоте)
Голосование
⠀Чтобы проголосовать за предложение необходимо выполнить команду (при голосовании против заменить Yes
на No
)
umeed tx gov vote PROPOSAL_ID Yes \ --from "$umee_wallet_name" \ --chain-id umeevengers-1c \ --gas 300000 \ --fees 300uumee \ --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml` \ -y
PROPOSAL_ID
— ID предложения, сохранённый ранее, если был потерян, то можно найти в общем списке предложений в Explorer’е.
⠀Успешно отправленная транзакция выглядит примерно как на скриншоте ниже
⠀Записать хэш транзакции для заполнения формы (выделен на скриншоте)
Проверка
⠀Для проверки успешного создания предложения необходимо зайти в Explorer’е в соответствующий раздел, найти своё предложение и открыть его. Или в ссылке ниже изменить ID предложения на свой
https://explorer-umeevengers.nodes.guru/proposals/180
⠀Для проверки транзакций необходимо зайти в Explorer и в поиске ввести по очереди сохранённые хэши транзакций (пример транзакции)
⠀В поле «Messages» у введённых транзакций должен быть указан тип:
Отправка формы
⠀Открыть форму и заполнить её используя сохранённые данные.
Задания 19.11
⠀Формы ещё не выложены, пункт «Вторая нода» желательно выполнить уже сейчас.
Вторая нода
⠀Взять или арендовать второй сервер (подойдёт 2 CPU, 4 GB RAM, 20 GB SSD)
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Umee/main/multi_tool.sh)
⠀Придумать название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_moniker
⠀Добавить ID сети в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_chain -v "umeevengers-1c"
umeed init "$umee_moniker" --chain-id "$umee_chain"
wget -qO $HOME/.umee/config/genesis.json "https://raw.githubusercontent.com/umee-network/testnets/main/networks/${umee_chain}/genesis.json"
wget -qO $HOME/.umee/config/addrbook.json "https://raw.githubusercontent.com/SecorD0/Umee/main/addrbook.json"
⠀Изменить конфиг (выполнять всё одной командой)
bootstrap_node="http://62.171.166.224:26657"; \ bootstrap_node2="http://62.171.166.224:26657"; \ node_id=`wget -qO- "${bootstrap_node}/status" | jq -r ".result.node_info.id"`; \ latest_height=`wget -qO- "${bootstrap_node}/block" | jq -r ".result.block.header.height"`; \ block_height=$((latest_height - 1000)); \ trust_hash=`wget -qO- "${bootstrap_node}/block?height=${block_height}" | jq -r ".result.block_id.hash"`; \ sed -i -e "s%^moniker *=.*%moniker = \"$umee_moniker\"%; "\ "s%^external_address *=.*%external_address = \"`wget -qO- eth0.me`:26656\"%; "\ "s%^laddr *=.*26657\"%laddr = \"tcp://0.0.0.0:26657\"%; "\ "s%^persistent_peers *=.*%persistent_peers = \"${node_id}@`echo $bootstrap_node | sed -e 's%http://%%; s%:26657%:26656%'`\"%; "\ "s%^enable *=.*%enable = true%; "\ "s%^rpc_servers *=.*%rpc_servers = \"${bootstrap_node},${bootstrap_node2}\"%; "\ "s%^trust_height *=.*%trust_height = $block_height%; "\ "s%^trust_hash *=.*%trust_hash = \"$trust_hash\"%" $HOME/.umee/config/config.toml
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/ports_opening.sh) 26656 26657
echo "[Unit] Description=Umee node After=network.target [Service] User=$USER ExecStart=`which umeed` start Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target" > /etc/systemd/system/umeed.service
sudo systemctl daemon-reload sudo systemctl enable umeed sudo systemctl restart umeed
⠀Добавить команды в систему в виде переменных:
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_log -v "sudo journalctl -fn 100 -u umeed" -a . <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Umee/main/node_info.sh) -l RU 2>/dev/null" -a
umee_log
⠀Через некоторое время начнётся загрузка и распаковка снепшота
⠀После успешной загрузки и распаковки начнётся синхронизация
⠀После синхронизации изменить persistent_peers
sed -i -e "s%^persistent_peers *=.*%persistent_peers = \"`wget -qO - https://raw.githubusercontent.com/umee-network/testnets/main/networks/$umee_chain/persistent_peers.txt | tr '\n' ',' | sed 's%,$%%'`\"%" $HOME/.umee/config/config.toml
sudo systemctl restart umeed
⠀Секунд через 30 вывести ссылку на RPC ноды командой ниже
echo "http://`wget -qO- eth0.me`:26657/"
⠀Перейти по ней из любого браузера и удостовериться, что RPC является публичным
Подготовка
⠀Вспомнить название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_moniker
⠀Вспомнить название кошелька, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_wallet_name
⠀Добавить ID сети в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_chain -v "umeevengers-1c"
⠀Добавить команду для просмотра информация о ноде в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Umee/main/node_info.sh) -l RU 2>/dev/null" -a
Редактирование валидатора
⠀Проверить вывод всех 3-ёх значений, если какого-то нет, то вернуться к пункту «Подготовка»
echo $umee_chain $umee_wallet_name $umee_moniker
⠀На основной ноде использовать команду для изменения названия ноды, комиссии и описания
umeed tx staking edit-validator \ --chain-id "$umee_chain" \ --from "$umee_wallet_name" \ --moniker "${umee_moniker}_Umeevengers" \ --commission-rate 0.04 \ --details "Let's finish it!" \ --gas 200000 \ --fees 200uumee \ --node "http://62.171.166.224:26657" \ -y
⠀Сохранить хэш выведенной транзакции
⠀Подождать несколько минут и проверить, изменился ли параметры валидатора командой
umeed query staking validators --node "http://62.171.166.224:26657" --limit 1500 --output json | jq -r '.validators[] | select(.description.moniker=='\"${umee_moniker}_Umeevengers\"')'
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n umee_moniker -v "${umee_moniker}_Umeevengers"
⠀Заполнить форму
Спам транзакциями
24.11.2021 18:00 UTC / 21:00 МСК — 25.11.2021 18:00 UTC / 21:00 МСК
⠀Для отправки транзакций понадобятся токены на оплату комиссий, получить которые можно сняв комиссионные с валидатора
local_rpc=`grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml`; \ moniker=`umeed status --node "$local_rpc" 2>&1 | jq -r ".NodeInfo.moniker"`; \ validator_address=`umeed query staking validators --node "$local_rpc" --limit 1500 --output json | jq -r '.validators[] | select(.description.moniker=='\"$moniker\"')' | jq -r ".operator_address"`; \ umeed tx bank send "$umee_wallet_address" "$umee_wallet_address" 1uumee \ --chain-id "$umee_chain" \ --from "$umee_wallet_address" \ --gas 100000 \ --fees 100uumee \ --node "$local_rpc" \ --note "$validator_address" \ -y
umee_node_info
umeed keys add "$umee_wallet_name" --recover --keyring-backend file
⠀Необходимо ввести мнемоническую фразу от кошелька и дважды пароль для ноды
⠀Запустить команду для просмотра информации о ноде и ввести пароль от кошелька для добавления адреса в систему в виде переменной
umee_node_info
⠀Команда для отправки транзакций
umeed tx bank send "$umee_wallet_address" "$umee_wallet_address" 1uumee \ --chain-id "$umee_chain" \ --from "$umee_wallet_address" \ --note "VAL_ADDR" \ --keyring-backend file \ --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml` \ -y
⠀Продумать, как отправить много транзакций
Погребение
25.11.2021 19:00 UTC / 22:00 МСК — 25.11.2021 20:00 UTC / 23:00 МСК
⠀Скачать с основной ноды файл (команда отображает путь)
echo $HOME/.umee/config/priv_validator_key.json
sudo systemctl stop umeed
⠀Заменить файл ниже на файл, скачанный с основной ноды (команда отображает путь)
echo $HOME/.umee/config/priv_validator_key.json
sudo systemctl restart umeed
⠀Периодически на любой из нод проверять вывод команды ниже. Когда валидатор одновременно подпишет блок 2 раза, он отправится в тюрьму навечно
umeed query slashing signing-info `umeed tendermint show-validator`
tombstoned: true
Unjailer
Нужно бороться с причинами попадания, а не с последствиями
⠀По условиям участия попадание в тюрьму хоть 1 раз в неделю снимает 50 очков. Скрипт не спасёт от попадания в тюрьму, однако может помочь выбраться из неё практически сразу же после попадания
⠀Для начала необходимо установить Tmux
sudo apt install tmux -y
tmux new -s unjailer
cd $HOME/.umee/
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Umee/main/unjailer.sh)
⠀Открыть конфиг с помощью блокнота MobaXterm, Nano, Vi или т.п. и отредактировать его
#!/bin/bash # Acceptable use: # u_wallet_name="umee_node" | text # u_wallet_name="$umee_wallet_name" | variable u_wallet_name="___" u_wallet_password="___" u_delay=60 # how often to restart the script (in secs)
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Umee/main/unjailer.sh)
⠀Каждую минуту будет проверяться нахождение в тюрьме и, если валидатор находится в ней, то произойдёт автоматический выход
⠀Отключиться от окна сочетанием клавиш Ctrl+B, D
или командой
tmux detach
⠀Повторно подключиться к окну, например для просмотра вывода или остановки скрипта, можно командой
tmux attach -t unjailer
tmux attach -t unj
Вклад сообщества
Наша команде не несёт ответственности за возможные негативные последствия, поскольку не может гарантировать безопасность использования представленных инструментов
Как сюда попасть?
⠀Чтобы попасть в этот почётный раздел необходимо написать SecorD’у сообщение с информацией об инструменте:
- Название проекта;
- Краткое название в 2-3 слова (будет использоваться как заголовок);
- Описание, которое будет добавлено в статью (зачем нужно, функционал, как использовать, другая полезная информация, желательно со скриншотами).
- Пользу сообществу;
- Возможность заявить о себе;
- Дополнительную возможность представления доказательств контрибуции в различных проектах.
Полезные команды
⠀Доступные переменные (при использовании убрать echo)
echo $umee_moniker echo $umee_wallet_name echo $umee_wallet_address echo $umee_chain
umee_log sudo journalctl -fn 100 -u umeed
umee_node_info . <(wget -qO- https://raw.githubusercontent.com/SecorD0/Umee/main/node_info.sh) -l RU
⠀Посмотреть список валидаторов
umeed query staking validators -o json --limit 1500 --node "http://62.171.166.224:26657" | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '.tokens + " - " + .description.moniker' | sort -gr | nl
umeed tx staking delegate "VAL_ADDR" "NUMBERuumee" \ --chain-id "$umee_chain" \ --from "$umee_wallet_name" \ --gas 200000 \ --fees 200uumee \ --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml` \ -y
umeed tx distribution withdraw-all-rewards \ --chain-id "$umee_chain" \ --from "$umee_wallet_name" \ --gas 300000 \ --fees 300uumee \ --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml` \ -y
⠀Снять комиссионные с валидатора
local_rpc=`grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml`; \ moniker=`umeed status --node "$local_rpc" 2>&1 | jq -r ".NodeInfo.moniker"`; \ validator_address=`umeed query staking validators --node "$local_rpc" --limit 1500 --output json | jq -r '.validators[] | select(.description.moniker=='\"$moniker\"')' | jq -r ".operator_address"`; \ umeed tx distribution withdraw-rewards "$validator_address" \ --chain-id "$umee_chain" \ --from "$umee_wallet_name" \ --commission \ --gas 300000 \ --fees 300uumee \ --node "$local_rpc" \ -y
local_rpc=`grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.umee/config/config.toml`; \ moniker=`umeed status --node "$local_rpc" 2>&1 | jq -r ".NodeInfo.moniker"`; \ validator_address=`umeed query staking validators --node "$local_rpc" --limit 1500 --output json | jq -r '.validators[] | select(.description.moniker=='\"$moniker\"')' | jq -r ".operator_address"`; \ umeed tx bank send "$umee_wallet_address" "$umee_wallet_address" 1uumee \ --chain-id "$umee_chain" \ --from "$umee_wallet_address" \ --gas 90000 \ --fees 90uumee \ --node "$local_rpc" \ --note "$validator_address" \ -y
sudo systemctl restart umeed
Полезные ссылки
Официальный сайт проекта | Русскоязычная группа Telegram
Discord | Twitter | Medium | GitHub
Официальная документация | Explorer
Благодарности
Команда 1package — написание статьи