February 27

Babylon(bbn-test-3). Устанавливаем ноду

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

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

  • Инвестировали: $26 000 000
  • Инвесторы: Polychain Capital, OKX Ventures и другие
  • Характеристики: 4CPU/32RAM/1TB — рекомендованные/ 6CPU/16RAM/400SSD — минимальные
  • Арендовать сервер: AEZA , Zomro, Hetzner , PqHosting , VDsina, Contabo
  • Ubuntu: 22.04

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

Команда Babylon объявила, что эта новая цепочка, включающая размещение биткойнов в тестовой сети, заменит старую. Это обновление является большой новостью, поскольку оно включает в себя ставку биткойнов в тестовой сети

Важно! если вы хотите стать активным валидатором в цепочке bbn-test-3 означает, что вам нужно иметь больше токенов $ubbn, чем последний валидатор в списке, что дает вам больше права голоса в сети

Что делать?

  • Подключаемся на арендованный сервер через root
  • Выполняем команды по списку
  • Делаем обновление
sudo apt update && sudo apt upgrade -y

Сделайте резервную копию ваших ключей (если у вас стоит Babylon test-2)

Если вы еще не используете ноду валидатора, вы можете перейти к следующим шагам (пропустив бэкап)

  • Перейдите в каталог конфигурации
cd /root/.babylond/config/
  • Открытые и резервные ключи : здесь вы найдете несколько ключевых файлов, которые необходимы для идентификации и безопасности вашей ноды. Откройте каждый файл по одному с помощью команды nano, скопируйте его содержимое и надежно сохраните на своем локальном компьютере

# For the address book: nano addrbook.json # For the blockchain's initial configuration: nano genesis.json # For your node's unique identifier: nano node_key.json # For your validator's private key: nano priv_validator_key.json

  • Перейдите в каталог данных . Некоторые ключи хранятся в другом каталоге. Перейдите в каталог данных и создайте резервную копию состояния валидатора, используя следующую команду
cd /root/.babylond/data/ nano priv_validator_state.json
  • Убедитесь, что у вас есть резервная копия информации о вашем кошельке. Перейдите в каталог набора ключей и откройте файл с информацией о кошельке
cd /root/.babylond/key_ring/ nano Wallet.info
  • Устанавливаем GO
sudo apt -qy install curl git jq lz4 build-essential
ver="1.22.0"wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"sudo rm -rf /usr/local/gosudo 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_profilesource $HOME/.bash_profile
  • Даём имя нашему валидатору
  • Сначала измените «YOUR_MONIKER» на выбранное вами имя валидатора и введите следующую команду:
export MONIKER=YOUR_MONIKER

Удалите старую установку

  • Удаление старой установки узла Babylon — важный шаг для начала нового или обновления цепочки bbn-test-3 , особенно если вы переходите с более ранней версии bbn-test2

ВАЖНО! Если вы не ставили bbn-test2, то пропускайте этот пункт

sudo systemctl disable babylon
sudo rm /etc/systemd/system/babylon.service
sudo systemctl daemon-reload
rm -rf $HOME/.babylond
rm -rf babylon
sudo rm -rf $(which babylond)
  • Загружаем и создаем бинарик
cd $HOME
rm -rf babylon
git clone https://github.com/babylonchain/babylon.git
cd babylon
git checkout v0.8.3
make build
mkdir -p ~/.babylond
mkdir -p ~/.babylond/cosmovisor
mkdir -p ~/.babylond/cosmovisor/genesis
mkdir -p ~/.babylond/cosmovisor/genesis/bin
mkdir -p ~/.babylond/cosmovisor/upgrades
  • Настраиваем Cosmovisor и создаем соответствующий сервис
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
  • Переносим BabylonD файл к Cosmovisor
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
  • Инициализируем ноду
babylond init $MONIKER --chain-id bbn-test-3
wget https://github.com/babylonchain/networks/raw/main/bbn-test-3/genesis.tar.bz2
tar -xjf genesis.tar.bz2 && rm genesis.tar.bz2
mv genesis.json ~/.babylond/config/genesis.json
  • Добавляем сиды
sed -i -e 's|^seeds *=.*|seeds = "[email protected]:26656,[email protected]:26656"|' $HOME/.babylond/config/config.toml
  • Меняем сеть
sed -i -e "s|^\(network = \).*|\1\"signet\"|" $HOME/.babylond/config/app.toml
  • Ставим минимальный газ
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.00001ubbn\"|" $HOME/.babylond/config/app.toml
  • Устанавливаем пиры
PEERS="[email protected]:26656,[email protected]:3000,[email protected]:26501,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26501,[email protected]:26656,[email protected]:46656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:3400,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:17656,[email protected]:26656,[email protected]:26656,[email protected]:27656,[email protected]:20656,[email protected]:10656,[email protected]:26656,[email protected]:33656,[email protected]:16456,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:43656,[email protected]:26656,[email protected]:26656,[email protected]:55706,[email protected]:25000,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:2050,[email protected]:56000,[email protected]:2050,[email protected]:26659,[email protected]:20656,[email protected]:20656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:21156,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:46656,[email protected]:26656,[email protected]:26656,[email protected]:26501,[email protected]:26656,[email protected]:26656,[email protected]:55706,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:16456,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26501,[email protected]:26501,[email protected]:26656,[email protected]:26656,[email protected]:26501,[email protected]:26656,[email protected]:26656,[email protected]:14656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26501,[email protected]:26656,[email protected]:26656,[email protected]:20656,[email protected]:26656,[email protected]:26656,[email protected]:38656,[email protected]:17656,[email protected]:56656,[email protected]:29656,[email protected]:26501,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:21656,[email protected]:20656"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.babylond/config/config.toml
  • Создаем соответствующую службу
sudo tee /etc/systemd/system/babylond.service > /dev/null <<EOF
[Unit]
Description=Babylon daemon
After=network-online.target

[Service]
User=$USER
ExecStart=$(which cosmovisor) run start --x-crisis-skip-assert-invariants
Restart=always
RestartSec=3
LimitNOFILE=infinity

Environment="DAEMON_NAME=babylond"
Environment="DAEMON_HOME=${HOME}/.babylond"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"

[Install]
WantedBy=multi-user.target
EOF
  • Запускаем ноду
sudo -S systemctl daemon-reload
sudo -S systemctl enable babylond
sudo -S systemctl start babylond
  • Проверяем статус ноды
systemctl status babylond
  • Видим, что нода Active и ошибок нет, height — растут
  • Теперь наша нода должна синхронизоваться. Для этого проверяем статус
babylond status | jq
  • У вас по началу будет писать статус true. Нам нужен статус false
  • Примерное ожидание синхронизации — 1–2 часа

Создаем кошелек

  • Если вы ранее участвовали в bbn-test-2 , вы можете импортировать мнемоническую фразу для привязки учетной записи кошелька стейкера с помощью следующих команд:
  • Установите имя кошелька в качестве переменной
Export Wallet=wallet
  • Восстанавливаем кошелек. $wallet — заменяем на имя нашего кошелька
babylond keys add "$wallet" --recover
  • Нужно будет вписать пароль и сид фразу
  • Если вы впервые запускаете в тестовой сети, вам необходимо создать новый кошелек, выполнив:
  • Сохраняем сидку и пароль в надежное место
babylond keys add wallet

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

  • Копируем наш 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)

Восстановить пару ключей BLS

Эта команда для старых валидаторов

Откройте файл, удалите весь существующий текст и вставьте Private_validator_key, который мы сохранили во время предыдущей настройки валидатора BBN-2

CTRL+X, затем введите Y и нажмите Enter

nano ~ /.babylond/config/priv_validator_key . JSON
  • После создания ключа перезапустите ноду
sudo systemctl stop babylond
sudo systemctl start babylond
  • Смотрим Pubkey
babylond tendermint show-validator
  • Копируем Pubkey
  • Где кавычки — заменяем на свои данные (Moniker — имя валидатора, Details — описание профиля, Website— можете ссылку на тг оставить, Security — свою почту)
  • Pubkey (Ставим свой, который копировали выше)
sudo tee ~/validator.json > /dev/null <<EOF
{
  "pubkey": {"ващ Pubkey}
  "amount": "1000000ubbn",
  "moniker": "your_moniker",
  "website": "https://yourwebsite.com",
  "security": "[email protected]",
  "details": "description of your validator",
  "commission-rate": "0.10",
  "commission-max-rate": "0.20",
  "commission-max-change-rate": "0.01",
  "min-self-delegation": "1"
}
EOF
  • Пример
  • Когда validator.jsonфайл готов, используйте следующую команду, чтобы создать валидатор в блокчейне
  • Заменяем имявашегокошеля
babylond tx checkpointing create-validator ~/validator.json \
    --chain-id="bbn-test-3" \
    --gas="auto" \
    --gas-adjustment="1.5" \
    --gas-prices="0.025ubbn" \
    --from имявашегокошеля
  • Пример
  • Создали Валидатора
  • Узнать свой valoper — address
babylond keys show wallet -a --bech val
  • Делегируем себе
babylond tx epoching delegate «YOUR_VALOPER_ADDRESS» 1000000ubbn --from wallet --chain-id bbn-test-3 --gas-adjustment 1.2 --gas 500000 --fees 10ubbn -y
babylond tx epoching delegate bbnvaloper17r0t42qqqhk6r0mtc8er6v4jtaknu23n3u7hhy 1000000ubbn --from wallet --chain-id bbn-test-3 --gas-adjustment 1.2 --gas 500000 --fees 10ubbn -y
  • Поздравляем! Вы успешно стали валидатором в сети Babylon (вы можете найти его, выполнив поиск по адресу кошелька или своему Моникеру или ubbn — адресу а затем увидеть его в делегировании вашему валидатору на этом кошелек)
  • Рекомендую запрашивать и делегировать каждый день
  • Проверить логи
sudo journalctl -u babylond.service -f --no-hostname -o cat
  • Удалить ноду
cd $HOME
sudo systemctl
stop babylond.service
sudo systemctl disable babylond.service
sudo rm /etc/systemd/system/babylond.service
sudo systemctl daemon-reload
rm -f $(which babylond)
rm -rf $HOME/.babylond
rm -rf $HOME/babylon