December 13, 2023

Babylon Node Guide | Гайд по ноде Бабилон

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

4/8/150

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

Установка

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

sudo apt update && sudo apt upgrade -y

sudo apt install -y unzip  gcc make logrotate git jq lz4 sed wget curl build-essential coreutils systemd

#устанавливаем го
sudo rm -rf /usr/local/go

go_package_url="https://go.dev/dl/go1.21.5.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

Выкачиваем репозиторий, собираем проект:

git clone https://github.com/babylonchain/babylon.git

cd babylon

git checkout v0.8.3

make build

cd build/

cp ./babylond /usr/local/bin/

cd

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

MONIKER="NODE_MONIKER"
#заменяем NODE_MONIKER на имя своего валидатора

babylond config set client chain-id bbn-test-3

babylond config set client keyring-backend test

babylond init $MONIKER --chain-id bbn-test-3

Выкачиваем генезис/адрбук:

curl -Ls https://snapshots.polkachu.com/testnet-genesis/babylon/genesis.json > $HOME/.babylond/config/genesis.json

curl -Ls https://snapshots.polkachu.com/testnet-addrbook/babylon/addrbook.json > $HOME/.babylond/config/addrbook.json

Сиды/пиры/конфиги:

sed -i -e "s|^seeds *=.*|seeds = \"3f472746f46493309650e5a033076689996c8881@babylon-testnet.rpc.kjnodes.com:16459\"|" $HOME/.babylond/config/config.toml
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.babylond/config/config.toml
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.00001ubbn\"|" $HOME/.babylond/config/app.toml

sed -i \
  -e 's|^pruning *=.*|pruning = "custom"|' \
  -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
  -e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
  -e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
  $HOME/.babylond/config/app.toml

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

sudo tee /etc/systemd/system/babylond.service > /dev/null << EOF

[Unit]
Description=Babylon Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which babylond) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
babylond tendermint unsafe-reset-all --home $HOME/.babylond --keep-addr-book

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

sudo systemctl daemon-reload
sudo systemctl enable babylond
sudo systemctl start babylond

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

sudo systemctl stop babylond

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

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

curl https://snapshots.polkachu.com/testnet-snapshots/babylon/babylon_149311.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.babylond

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

sudo systemctl restart babylond

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

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

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

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

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

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

Кран в дискорде

Создаем BLS ключ:

babylond create-bls-key $(babylond keys show wallet -a)

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

babylond status | jq .SyncInfo.catching_up
#ответ false - значит нода синхронизирована

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

babylond tx checkpointing create-validator \
--amount 1000000ubbn \
--pubkey $(babylond tendermint show-validator) \
--moniker "$MONIKER" \
--chain-id bbn-test-3 \
--commission-rate 0.1 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--from wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0.00001ubbn \
-y

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

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

Smart Hamster Nodes Studio

YouTube канал тут!

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

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