Babylon. Устанавливаем ноду

CryptoFortochka — гайды, ноды, новости, тестнеты

Babylon — это новый проект Cosmos, видение которого заключается в использовании безопасности биткоина для повышения безопасности зон Cosmos и других PoS-сетей, также как и Celestia, в данном случае они строят DeFi на Bitcoin

  • Инвестировали: $26 000 000

  • Инвесторы: Polychain Capital, OKX Ventures и другие

  • Характеристики: 4CPU/8RAM/160SSD — рекомендованные/ 4CPU**/6RAM/**50SSD — минимальные

  • Арендовать сервер: AEZA , Contabo , Hetzner , PqHosting , VDsina

Сезон дропов от нод? Недавно AltLayer раздал дроп своим тестнетерам, и вот пару дней назад заколабился с Babylon. Сейчас мы можем поставить их ноду. Как раз такую ноду Celestia раздали $20к, с учетом роста $TIA, уже $100к. Это проект на Cosmos SDK, а они почти все дают Airdrop за ноду — не скипаем

Что делать?

  • Подключаемся на арендованный сервер через root

  • Выполняем команды по списку

  • Делаем обновление

sudo apt update && sudo apt upgrade -y
  • Даём имя нашей ноде

  • Сначала измените «YOUR_MONIKER_GOES_HERE» на выбранное вами имя валидатора и введите следующую команду:

MONIKER="YOUR_MONIKER_GOES_HERE"
  • Установите зависимости и установите GO
sudo apt -qy install curl git jq lz4 build-essential
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.20.12.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
  • Загружаем и создаем бинарик
cd $HOME
rm -rf babylon
git clone https://github.com/babylonchain/babylon.git
cd babylon
git checkout v0.7.2
make build
mkdir -p $HOME/.babylond/cosmovisor/genesis/bin
mv build/babylond $HOME/.babylond/cosmovisor/genesis/bin/
rm -rf build
sudo ln -s $HOME/.babylond/cosmovisor/genesis $HOME/.babylond/cosmovisor/current -f
sudo ln -s $HOME/.babylond/cosmovisor/current/bin/babylond /usr/local/bin/babylond -f
  • Настраиваем Cosmovisor и создаем соответствующий сервис
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
  • Снизу копируем и вставляем все команды сразу
sudo tee /etc/systemd/system/babylon.service > /dev/null << EOF
[Unit]
Description=babylon node service
After=network-online.target

[Service]
User=$USER
ExecStart=$(which cosmovisor) run start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
Environment="DAEMON_HOME=$HOME/.babylond"
Environment="DAEMON_NAME=babylond"
Environment="UNSAFE_SKIP_BACKUP=true"
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/.babylond/cosmovisor/current/bin"

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable babylon.service
  • Инициализируем ноду
babylond config chain-id bbn-test-2
babylond config keyring-backend test
babylond config node tcp://localhost:16457
babylond init $MONIKER --chain-id bbn-test-2
curl -Ls https://snapshots.kjnodes.com/babylon-testnet/genesis.json > $HOME/.babylond/config/genesis.json
curl -Ls https://snapshots.kjnodes.com/babylon-testnet/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 -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
sed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:16458\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:16457\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:16460\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:16456\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":16466\"%" $HOME/.babylond/config/config.toml
sed -i -e "s%^address = \"tcp://localhost:1317\"%address = \"tcp://0.0.0.0:16417\"%; s%^address = \":8080\"%address = \":16480\"%; s%^address = \"localhost:9090\"%address = \"0.0.0.0:16490\"%; s%^address = \"localhost:9091\"%address = \"0.0.0.0:16491\"%; s%:8545%:16445%; s%:8546%:16446%; s%:6065%:16465%" $HOME/.babylond/config/app.toml
  • Загружаем последний снимок цепочки
curl -L https://snapshots.kjnodes.com/babylon-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.babylond
[[ -f $HOME/.babylond/data/upgrade-info.json ]] && cp $HOME/.babylond/data/upgrade-info.json $HOME/.babylond/cosmovisor/genesis/upgrade-info.json
  • Запускаем службу и проверяем логи

  • Пойдут логи

sudo systemctl start babylon.service && sudo journalctl -u babylon.service -f --no-hostname -o cat
  • Прописываем статус и нужно ждать, пока не появится статус false

  • Также, можно в explorer увидеть значение блоков, на момент статьи их 2,09M блок — нам столько нужно для синхронизации

  • Примерное ожидание — 1 час

babylond status | jq .SyncInfo

Как синхронизировалась нода, переходим к созданию созданию валидатора и делегированию

  • Создаем кошелек
babylond keys add wallet
  • Появится номер кошелька и сид фраза — cохраняем в надежное место
  • Копируем наш adress и идём запрашивать токены в дискорде

  • Переходим в канал get-a-role и ставим смайлик, как на скрине — тем самым мы получим роль tech и откроется доступ к крану

  • Вписываем в канале faucet — на скрине пример

  • Может писать ошибки, запрашивайте, пока статус не будет successfully sent

  • Проверить баланс своего кошелька можно с помощью этой команды:
babylond q bank balances $(babylond keys show wallet -a)
  • Создаем BLS ключ:
babylond create-bls-key $(babylond keys show wallet -a)
  • После создания ключа перезапустите ноду
sudo systemctl restart babylon
  • Обновляем параметры конфигурации
sed -i -e "s|^key-name *=.*|key-name = \"wallet\"|" $HOME/.babylond/config/app.toml
  • В соответствии с целью Babylon по поддержанию 10-секундного интервала между блоками вам следует настроить это значение соответствующим образом
sed -i -e "s|^timeout_commit *=.*|timeout_commit = \"10s\"|" $HOME/.babylond/config/config.toml
  • Где кавычки — заменяем на свои данные (Moniker — имя валидатора, Details — описание профиля, Website_url — можете ссылку на тг оставить)
babylond tx checkpointing create-validator \
--amount 1000000ubbn \
--pubkey $(babylond tendermint show-validator) \
--moniker "YOUR_MONIKER_NAME" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id bbn-test-2 \
--commission-rate 0.05 \
--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
  • Поздравляем! Вы успешно стали валидатором в сети Babylon. В течение 30 минут валидатор должен появиться в списке по адресу (вы можете найти его, выполнив поиск по адресу кошелька или своему Моникеру, а затем увидеть его в делегировании вашему валидатору на этом кошелек)

  • После того как все установлено и вы запросили монеты в кране в , делегируем монеты в наш пул:

  • Либо самому себе делегируйте

  • Рекомендую запрашивать и делегировать каждый день

babylond tx epoching delegate bbnvaloper105cn0nzhewa6rwc0yytz67fv3xhgq0a5s0a5n6 1000000ubbn --from wallet --chain-id bbn-test-2 --gas-adjustment 1.4 --gas auto --fees 10ubbn -y
  • Спустя примерно час заходим на сайт и проверяем есть ли наша нода в списке

  • Чтобы стать активным валидатором, вам необходимо иметь больше привязанных токенов ubbn, чем у последнего валидатора, чтобы иметь больше права голоса, чем у последнего валидатора, что на момент написания составляет 11 BBN. Поэтому вам необходимо получить множество токенов тестовой сети из сборщика, а затем делегировать эти токены на свою ноду с помощью следующей команды:

babylond tx staking delegate YOUR_NODE_OPERATOR_ADRESS_HERE 1000000ubbn --from wallet --chain-id bbn-test-2 --gas-adjustment 1.4 --gas auto --fees 10ubbn -y
  • Узнать свой адрес валидатора

    babylond q staking validator $(babylond keys show wallet --bech val -a)
    
  • Проверить логи

journalctl -n 100 -f -u babylon -o cat
  • Удалить ноду
sudo systemctl stop babylon
sudo systemctl disable babylon
rm -rf $HOME/.babylond/
rm -rf $HOME/babylon
Subscribe to CryptoFortochka
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.