December 28, 2022

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

Здравствуйте сегодня мы расскажем об установке ноды Bitsong

Оригинальная инструкция находится тут.

BitSong — это многофункциональная экосистема на основе блокчейна, созданная для расширения возможностей музыкальной индустрии. Он объединяет артистов, фанатов, дистрибьюторов в среде, где музыка, товары и лояльность фанатов являются ценными активами. Децентрализованная экосистема услуг BitSong предоставляет глобальное музыкальное сообщество с ненадежным рынком для потоковой передачи музыки, фанатских токенов и NFT на основе токена BTSG, более подробно можно прочитать на официальном сайте.

Рекомендуемые требования для сервера

16GB RAM 500GB of disk space 4Cores CPU

Краткую инструкцию по аренде сервера можно посмотреть тут

Как установить несколько нод на один сервер можно почитать тут

Подробный разбор по установке нод Cosmos можно посмотреть тут.

Если будете выбирать сервер на Hetzner можете воспользоваться нашей ссылкой, будем благодарны.

Как всегда обновляем наш сервер

sudo apt update && sudo apt upgrade -y

Устанавливаем доп. пакеты

sudo apt install make clang git pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget -y

Устанавливаем go и проверяем версию

ver="1.19.4" && \ 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

После этого скачиваем и устанавливаем бинарник

cd $HOME git clone https://github.com/bitsongofficial/go-bitsong cd go-bitsong git checkout bwasmnet-1 make install cd $HOME

Задаем переменные (CHAIN оставляем без изменений, в остальные вписываем свои данные)

BITSONG_CHAIN="bwasmnet-1" BITSONG_MONIKER="your_name" BITSONG_WALLET="your_name"

Добавляем все в баш профиль

echo 'export BITSONG_CHAIN='${BITSONG_CHAIN} >> $HOME/.bash_profile echo 'export BITSONG_MONIKER='${BITSONG_MONIKER} >> $HOME/.bash_profile echo 'export BITSONG_WALLET='${BITSONG_WALLET} >> $HOME/.bash_profile source $HOME/.bash_profile

Инициализируем ноду

bitsongd init $BITSONG_MONIKER --chain-id=$BITSONG_CHAIN

Прописываем в конфиг имя сети

bitsongd config chain-id $BITSONG_CHAIN

Скачиваем файл генезис

wget -O ~/.bitsongd/config/genesis.json https://raw.githubusercontent.com/bitsongofficial/networks/master/testnet/bwasmnet-1/genesis.json

Настраиваем прунинг (по желанию)

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

Выключаем индексер (по желанию)

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

Добавляем сиды и пиры

export PEERS="74eae250ed45e99e91ca49119ae46b27fb3a0037@78.47.117.150:26656" sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" ~/.bitsongd/config/config.toml

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

sudo tee /etc/systemd/system/bitsongd.service > /dev/null <<EOF [Unit] Description=BitSong Network Daemon After=network-online.target

[Service] User=$USER ExecStart=$(which bitsongd) start Restart=always RestartSec=3 LimitNOFILE=4096

[Install] WantedBy=multi-user.target EOF

И запускаем сервис

sudo systemctl daemon-reload sudo systemctl enable bitsongd sudo systemctl start bitsongd

Смотрим логи и ждем когда нода начнет синхронизироваться

journalctl -u bitsongd -f -o cat

Или смотрим статус синхронизации (когда "catching_up": false то нода синхронизирована)

curl localhost:26657/status

После синхронизации создаем кошелек (не забываем сохранить мнемоник)

bitsongd keys add $BITSONG_WALLET

Если кошелек уже есть то восстанавливаем с помощью мнемоника

bitsongd keys add $BITSONG_WALLET --recover

Добавляем переменную с адресом кошелька

BITSONG_ADDR=$(bitsongd keys show $BITSONG_WALLET -a)

Добавляем переменную в баш профиль

echo 'export BITSONG_ADDR='${BITSONG_ADDR} >> $HOME/.bash_profile source $HOME/.bash_profile

Теперь нам необходимо получить средства на кошелек. Для этого переходим в дискорд в канал #testnet-faucet по ссылке, и запрашиваем токены на баланс.

После запроса проверяем баланс

bitsongd query bank balances $BITSONG_ADDR

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

bitsongd tx staking create-validator \ --amount=5000000ubtsg \ --pubkey=$(bitsongd tendermint show-validator) \ --moniker=$BITSONG_MONIKER \ --chain-id=$BITSONG_CHAIN \ --from=$BITSONG_WALLET \ --commission-rate="0.05" \ --commission-max-rate="0.20" \ --commission-max-change-rate="0.01" \ --min-self-delegation="1"

Задаем переменную с адресом валидатора

BITSONG_VALOPER=$(bitsongd keys show $BITSONG_WALLET --bech val -a)

И добавляем ее в баш профиль

echo 'export BITSONG_VALOPER='${BITSONG_VALOPER} >> $HOME/.bash_profile source $HOME/.bash_profile

Проверка статуса валидатора

bitsongd query staking validator $BITSONG_VALOPER

Делегация средств с кошелька на валидатора (сумму вводите свою)

bitsongd tx staking delegate $BITSONG_VALOPER 5000000ubtsg --from $BITSONG_WALLET

Ну и если вдруг ваша нода попала в тюрьму, то выход

bitsongd tx slashing unjail --from $BITSONG_WALLET

Большое спасибо, за внимание и уделенное время

Наш телеграмм канал по нодам — https://t.me/mmsnodes
Наш телеграмм чат по нодам - https://t.me/mmsnodeschat
Наш телеграмм канал по экосистеме Cosmos - https://t.me/cosmochannel_mms

С уважением, MMS_Team