MAINNET
May 9, 2022

Provenance - Mainnet

🪓 Telegram канал UTSA 🪓 Telegram чат UTSA

Web Discord Github

Testnet details

UPD - идет голосование за обновление на v1.10.0

Высота 5689885 Мск 01:30 пятница 27 мая

export PIO_HOME=~/.provenanced
sudo systemctl stop provenanced && cd provenance
git pull
git checkout tags/v1.10.0 -b v1.10.0
make clean
make install

provenanced version
# version: v1.10.0
sudo systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD - идет голосование за обновление на v1.11.1

Высота 6512577 Мск 01:30 пятница 22 июля

export PIO_HOME=~/.provenanced
sudo systemctl stop provenanced && cd provenance
git pull
git checkout tags/v1.11.1 -b v1.11.1
make clean
make install

provenanced version
# version: v1.11.1
sudo systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD - идет голосование за обновление на v1.12.0

Высота 7334444

export PIO_HOME=~/.provenanced
sudo systemctl stop provenanced && cd provenance
git pull
git checkout tags/v1.12.0 -b v1.12.0
make clean
make install

provenanced version
# version: v1.12.0
sudo systemctl restart provenanced && journalctl -u provenanced -f -o cat

Обновление Dragon

export PIO_HOME=~/.provenanced
systemctl stop provenanced && cd provenance
git pull
git checkout tags/v1.12.1 -b v1.12.1
make clean
make install

provenanced version
# version: v1.12.1
systemctl restart provenanced && journalctl -u provenanced -f -o cat

Обновление Dragon

export PIO_HOME=~/.provenanced
systemctl stop provenanced && cd provenance
git pull
git checkout tags/v1.13.0 -b v1.13.0
make clean
make install

provenanced version
# version: v1.13.0
systemctl restart provenanced && journalctl -u provenanced -f -o cat

Обновление v1.13.1 и переход с cleveldb на goleveldb

export PIO_HOME=~/.provenanced
systemctl stop provenanced && cd provenance
git pull
git checkout tags/v1.13.1 -b v1.13.1
make clean
make install

provenanced version
# version: v1.13.1

systemctl restart provenanced && journalctl -u provenanced -f -o cat

После запуска блоков меняем версию BD

export PIO_HOME=~/.provenanced
systemctl stop provenanced
db_backend="goleveldb" && \
sed -i.bak -e "s/^db_backend *=.*/db_backend = \"$db_backend\"/" ~/.provenanced/config/config.toml
systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.14.0 (Высота обновления: 9828888)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.14.0
make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.14.0
# commit: 4fbc73b7

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.15.0 (Высота обновления: 11130222)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.15.0
make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.15.0
# commit: 64d789a4

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.15.2 (Высота обновления: без нарушения консенсуса)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.15.2
make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.15.2
# commit: 7c9a6167

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.16.0 (Высота обновления: 11842000)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.16.0
make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.16.0
# commit: "95064252"

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.17.1 (Высота обновления: 13736000)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.17.1
make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.17.1
# commit: "7b165708"

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.18.0 (Высота обновления: 15727333)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.18.0
make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.18.0
# commit: "dd0940e9"

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.19.1 (Высота обновления: 17946888)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.19.1
make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.19.1
# commit: d1119ab0

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.20.3 (Высота обновления: 20242000)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.20.3
#make golangci-lint

make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.20.3
# commit: c1538979

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.21.0 (Высота обновления: 21499222)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.21.0
#make golangci-lint

make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.21.0
# commit: 106b406f

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.21.0 (Высота обновления: )

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.21.1
#make golangci-lint

make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.21.1
# commit: 2c1179da

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.22.0 (Высота обновления: 23306222)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.22.0
#make golangci-lint

make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.22.0
# commit: 24810d86

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.23.0 (Высота обновления: 23996655)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.23.0
#make golangci-lint

make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.23.0
# commit: 9ffd67f3

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.24.0 (Высота обновления: 24410888)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.24.0
#make golangci-lint

make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.24.0
# commit: ca136533

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

UPD 🕊 на v1.25.0 (Высота обновления: 25098777)

export PIO_HOME=~/.provenanced
cd $HOME/provenance
git pull
git checkout v1.25.0

make build
$HOME/provenance/build/provenanced version --long | grep -e version -e commit
# v1.25.0
# commit: a30feb4d

# ПОСЛЕ ОСТАНОВКИ СЕТИ НА НУЖНОМ БЛОКЕ!!!
systemctl stop provenanced
mv $HOME/provenance/build/provenanced $(which provenanced)
provenanced version --long | grep -e version -e commit
# 

systemctl restart provenanced && journalctl -u provenanced -f -o cat

Подготовка сервера

Обновляем репозитории

sudo apt update && sudo apt upgrade -y

Устанавливаем необходимые утилиты

sudo apt install curl build-essential git wget jq make gcc tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip fail2ban libleveldb-dev -y

Проверяем работу жестких дисков

curl -sL yabs.sh | bash -s — -ig
# Disk Test
nvme smart-log /dev/nvme0
nvme smart-log /dev/nvme1

Проверяем работу интернета

curl -sL yabs.sh | bash -s — -fg

Устанавливаем Go ОДНОЙ КОМАНДОЙ

ver="1.23.3" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version

Установка ноды

ВАЖНО — в командах ниже все, что в <> меняем на свое значение и убираем сами <>

Устанавливаем бинарники

export PIO_HOME=~/.provenanced
git clone https://github.com/provenance-io/provenance.git && cd provenance
git checkout tags/v1.25.0 -b v1.25.0
make golangci-lint
make clean
make install
provenanced version --long | grep -e version -e commit
# v1.25.0
# commit: a30feb4d

Инициализируем ноду, чтобы создать необходимые файлы конфигурации

provenanced init UTSA_guide --chain-id pio-mainnet-1

Скачиваем Genesis

wget -O $HOME/.provenanced/config/genesis.json "https://raw.githubusercontent.com/provenance-io/mainnet/main/pio-mainnet-1/genesis.json"

# Проверим генезис
sha256sum ~/.provenanced/config/genesis.json
# 8b10448662a55462fb23a8f4faedae2ec8a24aefe04d2e7475400c0367948940

Проверяем, что состояние валидатора на начальном этапе

cd && cat .provenanced/data/priv_validator_state.json
{
  "height": "0",
  "round": 0,
  "step": 0
}

# если нет, то выполняем команду
provenanced tendermint unsafe-reset-all --home $HOME/.provenanced

Настраиваем конфигурацию ноды

Правим конфиг, благодаря чему мы можем больше не использовать флаг chain-idдля каждой команды CLI $HOME/.provenanced/config/client.toml

provenanced config set chain-id pio-mainnet-1

В client.toml настраиваем async

Настраиваем keyring-backend $HOME/.provenanced/config/client.toml

provenanced config set keyring-backend os

Настраиваем минимальную цену за газ $HOME/.provenanced/config/app.toml

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"1905nhash\"/;" ~/.provenanced/config/app.toml

Меняем db-backend на cleveldb

db_backend="goleveldb"
sed -i.bak -e "s/^db_backend *=.*/db_backend = \"$db_backend\"/" ~/.provenanced/config/config.toml

timeout_commit = "1s"


Настраиваем прунинг одной командой $HOME/.memed/config/app.toml

pruning="custom"
pruning_keep_recent="1000"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.provenanced/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.provenanced/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.provenanced/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.provenanced/config/app.toml

Добавляем seed/peers $HOME/.provenanced/config/config.toml

external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:26656\"/" $HOME/.provenanced/config/config.toml

peers="b75bb5d0c033b5a8ca24df607a757d09e4f99acd@provenance-mainnet-peer.itrocket.net:57656,a4921224b51c341585372284b3dbe2bfcec8657c@213.133.100.93:27056"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.provenanced/config/config.toml

seeds="a280ec7a1b563cb71510723b860ed37d40494308@provenance-mainnet-seed.itrocket.net:57656"
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.provenanced/config/config.toml

(ОПЦИОНАЛЬНО) Выкл индексацию $HOME/.provenanced/config/config.toml

indexer="null" && \
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.provenanced/config/config.toml

(ОПЦИОНАЛЬНО) Вкл/выкл снэпшоты $HOME/.memed/config/app.toml

# По умолчанию снэпшоты выключены "snapshot-interval=0"
snapshot_interval="1000" && \
sed -i.bak -e "s/^snapshot-interval *=.*/snapshot-interval = \"$snapshot_interval\"/" ~/.provenanced/config/app.toml

(ОПЦИОНАЛЬНО) Смена портов

# config.toml
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:46658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:46657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:6062\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:46656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":46660\"%" $HOME/.provenanced/config/config.toml

# app.toml
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:9290\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:9291\"%" $HOME/.provenanced/config/app.toml

# client.toml
sed -i.bak -e "s%^node = \"tcp://127.0.0.1:26657\"%node = \"tcp://127.0.0.1:46657\"%" $HOME/.provenanced/config/client.toml

external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:46656\"%" $HOME/.provenanced/config/config.toml

Подробнее о смене портов здесь

(ОПЦИОНАЛЬНО) ВАРИАНТ 1 - скачиваем полностью папку data

cd
wget https://tools.highstakes.ch/files/provenance/goleveldb/data_2024-03-09.tar.gz
tar -xvf data_2024-03-09.tar.gz -C ~/.provenanced/

# после запуска ноды можем удалить архив
rm $HOME/.provenanced/data_2024-03-09.tar.gz

(ОПЦИОНАЛЬНО) ВАРИАНТ 2 State Sync

При необходимости копируем wasm (удаляя все из cash)

Вводим команды по очереди

SNAP_RPC=

LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)

echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH

sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"| ; \
s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\"\"|" $HOME/.provenanced/config/config.toml

Создаем сервисный файл

tee /etc/systemd/system/provenanced.service > /dev/null <<EOF
[Unit]
Description=provenanced
After=network-online.target

[Service]
User=$USER
Environment="PIO_HOME=$HOME/.provenanced"
ExecStart=$(which provenanced) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable provenanced
systemctl restart provenanced && journalctl -u provenanced -f -o cat

Если после старта нода долго не может подцепиться к пирам, то ищем новые пиры или просим addrbook.json в дискорд

# стопаем ноду, удаляем адресную книгу и сбрасываем данные
sudo systemctl stop provenanced
provenanced tendermint unsafe-reset-all --home $HOME/.provenanced

# перезагружаем ноду
sudo systemctl restart provenanced && journalctl -u provenanced -f -o cat

Cоздаем или восстанавливаем кошелек и сохраняем вывод

# создать кошелек
provenanced keys add wallet

# восстановить кошелек (после команды вставить seed)
provenanced keys add wallet --recover

Создаем валидатора

provenanced tx staking create-validator \
--chain-id pio-mainnet-1 \
--commission-rate=0.05 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.1 \
--min-self-delegation="1000000" \
--amount=1000000nhash \
--pubkey $(provenanced tendermint show-validator) \
--moniker "moniker" \
--from=wallet \
--fees 555000000nhash

Не забываем сохранить priv_validator_key.json

Подробнее о создании/редактировании валидатора можно почитать здесь

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

Для добавления лого в mintscan:

  • форк https://github.com/cosmostation/cosmostation_token_resource
  • в папке Moniker находим название проекта
  • через add file/upload file добавляем свою аватарку. название файла обязательно должно быть валопер.png . и только png
  • PR

Проверить блоки

provenanced status 2>&1 | jq ."SyncInfo"."latest_block_height"

Проверить логи

sudo journalctl -u provenanced -f -o cat
sudo journalctl -fn 100 -u provenanced

Статус

curl localhost:26657/status

Проверить баланс

provenanced q bank balances pb19r822ud3e6j7vv4llk569fxlt3778kw7tyntdr

Проверить валидатора

provenanced query staking validator pbvaloper19r822ud3e6j7vv4llk569fxlt3778kw7ynlmve
provenanced query staking validators --limit 1000000 -o json | jq '.validators[] | select(.description.moniker=="lesnik_utsa")' | jq

Собрать комиссионные + реварды

provenanced tx distribution withdraw-rewards pbvaloper19r822ud3e6j7vv4llk569fxlt3778kw7ynlmve --from lesnik_utsa_wallet --fees 500000000nhash --commission -y

Заделегировать себе в стейк еще (так отправляется 1 монетa)

provenanced tx staking delegate pbvaloper19r822ud3e6j7vv4llk569fxlt3778kw7ynlmve 1000000000nhash --from lesnik_utsa_wallet --fees 500000000nhash -y

Ределегирование на другого валидатора

provenanced tx staking redelegate <src-validator-addr> <dst-validator-addr> 1000000nhash --from <name_wallet> --fees 500000000nhash -y

Unbond

provenanced tx staking unbond <quicksilvervaloper1...> 10000000nhash --from <name_wallet> --fees 500000000nhash -y

Отправить монеты на другой адрес

provenanced tx bank send <name_wallet> <quicksilver1...> 10000000nhash --fees 500000000nhash -y

Выбраться из тюрьмы

provenanced tx slashing unjail --from <name_wallet>

Работа с кошельками

# вывести список кошельков
provenanced keys list
# показать ключ аккаунта
provenanced keys show <name_wallet> --bech acc
# показать ключ валидатора
provenanced keys show <name_wallet> --bech val
# показать ключ консенсуса
provenanced keys show <name_wallet> --bech cons
# запрос учетной записи
provenanced q auth account $(quicksilverd keys show <name_wallet> -a) -o text

Обновление

cd provenanced
git fetch
git pull
git checkout ...
make install

# после перезагружаем ноду

Удалить ноду

sudo systemctl stop provenanced && \
sudo systemctl disable provenanced && \
rm /etc/systemd/system/provenanced.service && \
sudo systemctl daemon-reload && \
cd $HOME && \
rm -rf .provenanced provenance && \
rm -rf $(which provenanced)

Узнать транзакцию создания валидатора (заменить свой valoper_address)

provenanced query txs --events='create_validator.validator=<your_valoper_address>' -o=json | jq .txs[0].txhash -r

Проверить сколько блоков пропущено валидатором и с какого блока актив

provenanced q slashing signing-info $(anoned tendermint show-validator)

Параметры сети

provenanced q staking params

Проголосовать за предложение

provenanced tx gov vote 1 yes --from lesnik_utsa_wallet --fees 500000000nhash

Внести депозит в предложение

provenanced tx gov deposit 1 1000000uan1 --from lesnik_utsa_wallet --fees 500000000nhash

Просмотр активного сета

provenanced q staking validators -o json --limit=1000 \
| jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' \
| jq -r '.tokens + " - " + .description.moniker' \
| sort -gr | nl

Просмотр неактивного сета

provenanced q staking validators -o json --limit=1000 \
| jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' \
| jq -r '.tokens + " - " + .description.moniker' \
| sort -gr | nl

Проверка информации по TX_HASH

provenanced query tx <TX_HASH>

Peers and RPC

FOLDER=.provenanced

# узнать свой peer
PORTR=$(grep -A 3 "\[p2p\]" ~/$FOLDER/config/config.toml | egrep -o ":[0-9]+") && \
echo $(provenanced tendermint show-node-id)@$(curl ifconfig.me)$PORTR

# узнать порт RPC
echo -e "\033[0;32m$(grep -A 3 "\[rpc\]" ~/$FOLDER/config/config.toml | egrep -o ":[0-9]+")\033[0m"

# проверка количества пиров
PORT=
curl -s http://localhost:$PORT/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr | split(":")[2])"' | wc -l

# cписок моникеров подключенных пиров
curl -s http://localhost:$PORT/net_info | jq '.result.peers[].node_info.moniker'

# Проверка prevotes/precommits. Пригодится при обновах
curl -s localhost:$PORT/consensus_state | jq '.result.round_state.height_vote_set[0].prevotes_bit_array' && \
curl -s localhost:$PORT/consensus_state | jq '.result.round_state.height_vote_set[0].precommits_bit_array'

# check prevote of your validator
curl -s localhost:$PORT/consensus_state -s | grep $(curl -s localhost:26657/status | jq -r .result.validator_info.address[:12])