Cosmos Nodes
February 23, 2023

Nibiru Node Guide | Нибиру гайд по ноде

Требования к серверу:

4/8/200 - минимальные

8/32/300 - рекомендуемые

я взяла СPХ31 хетцнере

Установка

Подготавливаем сервер:

sudo apt-get update -y && sudo apt upgrade -y && sudo apt-get install make build-essential unzip lz4 gcc git jq chrony -y

#устанавливаем го 
go_package_url="https://go.dev/dl/go1.19.linux-amd64.tar.gz"

go_package_file_name=${go_package_url##*\/} 

wget -q $go_package_url 

sudo tar -C /usr/local -xzf $go_package_file_name 

echo "export PATH=\$PATH:/usr/local/go/bin" >>~/.profile

echo "export PATH=\$PATH:\$(go env GOPATH)/bin" >>~/.profile

source ~/.profile

NODE_MONIKER="MONIKER"
#заменить MONIKER на имя своей ноды (придумать)

Копируем репозиторий:

git clone https://github.com/NibiruChain/nibiru

cd nibiru

git checkout v0.19.2

make install

nibid version

Инициализируем проект:

nibid config chain-id nibiru-itn-1

nibid init "$NODE_MONIKER" --chain-id nibiru-itn-1

Добавляем пиры и сиды в конфиг:

SEEDS="dabcc13d6274f4dd86fd757c5c4a632f5062f817@seed-2.nibiru-testnet-2.nibiru.fi:26656,a5383b33a6086083a179f6de3c51434c5d81c69d@seed-1.nibiru-testnet-2.nibiru.fi:26656"

PEERS=""

sed -i 's|^seeds *=.*|seeds = "'$SEEDS'"|; s|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.nibid/config/config.toml

Настраиваем прунинг (опционально):

sed -i 's|^pruning *=.*|pruning = "custom"|g' $HOME/.nibid/config/app.toml
sed -i 's|^pruning-keep-recent  *=.*|pruning-keep-recent = "100"|g' $HOME/.nibid/config/app.toml
sed -i 's|^pruning-interval *=.*|pruning-interval = "10"|g' $HOME/.nibid/config/app.toml
sed -i 's|^snapshot-interval *=.*|snapshot-interval = 2000|g' $HOME/.nibid/config/app.toml

Загружаем генезис файл и адрбук:

curl -s https://rpc.itn-1.nibiru.fi/genesis | jq -r .result.genesis > $HOME/.nibid/config/genesis.json
curl -s https://snapshots2-testnet.nodejumper.io/nibiru-testnet/addrbook.json > $HOME/.nibid/config/addrbook.json

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

sudo tee /etc/systemd/system/nibid.service > /dev/null << EOF
[Unit]
Description=Nibiru Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which nibid) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
nibid tendermint unsafe-reset-all --home $HOME/.nibid --keep-addr-book

Перезапускаем сервисный файл:

sudo systemctl daemon-reload
sudo systemctl enable nibid
sudo systemctl start nibid

Просмотр логов:

sudo journalctl -u nibid -f --no-hostname -o cat

Снепшот (если хотите):

sudo apt update

sudo apt install lz4 -y

sudo systemctl stop nibid

cp $HOME/.nibid/data/priv_validator_state.json $HOME/.nibid/priv_validator_state.json.backup 

nibid tendermint unsafe-reset-all --home $HOME/.nibid --keep-addr-book 

curl https://snapshots2-testnet.nodejumper.io/nibiru-testnet/nibiru-itn-1_2023-04-24.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.nibid

mv $HOME/.nibid/priv_validator_state.json.backup $HOME/.nibid/data/priv_validator_state.json 

sudo systemctl start nibid
sudo journalctl -u nibid -f --no-hostname -o cat

Команды кошелька:

nibid keys add wallet
#создать новый кошелек
#запишите мнемонику!!!

nibid keys add wallet --recover
#восстановить существующий кошелек

nibid q bank balances $(nibid keys show wallet -a)
#проверка баланса 

Получаем токены:

Идем в дискорд, ветка #testnet-faucet

Проверяем синхронизацию ноды:

nibid status 2>&1 | jq .SyncInfo.catching_up
#ответ false - значит нода синхронизирована

Только когда нода синхронизирована - создаем валидатора:

nibid tx staking create-validator \
--amount 10000000unibi \
--commission-max-change-rate "0.1" \
--commission-max-rate "0.20" \
--commission-rate "0.1" \
--min-self-delegation "1" \
--pubkey=$(nibid tendermint show-validator) \
--moniker <YOUR_MONIKER> \
--chain-id nibiru-itn-1 \
--gas-prices 0.025unibi \
--from wallet

Эксплорер сети тут

Данные о своем валидаторе:

nibid q staking validator $(nibid keys show wallet --bech val -a)

Обновление

sudo systemctl stop nibid

cd

rm -rf nibiru

git clone https://github.com/NibiruChain/nibiru

cd nibiru

git checkout v0.19.2

make install

nibid version

sudo systemctl start nibid

sudo journalctl -u nibid -f --no-hostname -o cat

Задание (stake to an oracle):

nibid tx staking delegate nibivaloper1899rcjgfp2psfr9r9kpp7zr3afw68tgksv8dwd 1000000unibi --from wallet --chain-id nibiru-itn-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025unibi -y

Если не конектится к пирам, можно попробовать:

sudo systemctl stop nibid
curl -Ls https://snapshots.kjnodes.com/nibiru-testnet/addrbook.json > $HOME/.nibid/config/addrbook.json
nibid tendermint unsafe-reset-all --home $HOME/.nibid --keep-addr-book
cd .nibid
cd config
nano config.toml
#тут меняем значения в полях seeds и persistent peers, должно получится как на скрине ниже
dabcc13d6274f4dd86fd757c5c4a632f5062f817@seed-2.nibiru-testnet-2.nibiru.fi:26656,a5383b33a6086083a179f6de3c51434c5d81c69d@seed-1.nibiru-testnet-2.nibiru.fi:26656
#значение для поля seeds (поместить его в "")
nano app.toml
#меняем значение поля pruning на nothing
sudo systemctl daemon-reload
sudo systemctl enable nibid
sudo systemctl start nibid
sudo journalctl -u nibid -f --no-hostname -o cat

Спасибо за внимание! И поздравляю с новой нодой!
@kulikovae

Smart Hamster Nodes Studio

YouTube канал тут!

Наша новостная группа тут!

Курс "Обучение по нодам" тут!