Установка ноды StaFiHub
Здравствуйте сегодня мы расскажем об установке ноды StaFiHub
Оригинальная инструкция находится тут.
StaFiHub это платформа первого уровня для межсетевого стэйкинга в экосистеме космос, более подробно можно прочитать на официальном сайте.
Рекомендуемые требования для сервера
4GB RAM, 300GB_SSD of disk space, 4Cores (modern CPU's)
Краткую инструкцию по аренде сервера можно посмотреть тут
Как всегда обновляем наш сервер
sudo apt install make clang pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget -y
Устанавливаем go и проверяем версию
cd $HOME wget -O go1.18.2.linux-amd64.tar.gz https://go.dev/dl/go1.18.2.linux-amd64.tar.gz rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.2.linux-amd64.tar.gz && rm go1.18.2.linux-amd64.tar.gz echo 'export GOROOT=/usr/local/go' >> $HOME/.bashrc echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc echo 'export GO111MODULE=on' >> $HOME/.bashrc echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bashrc && . $HOME/.bashrc go version
После этого скачиваем и устанавливаем бинарник
git clone --branch public-testnet-v3 https://github.com/stafihub/stafihub cd $HOME/stafihub && make install
Задаем переменные (CHAIN оставляем без изменений, в остальные вписываем свои данные)
MONIKER="your_name" CHAIN="stafihub-public-testnet-3" WALLET_NAME="your_name"
echo 'export MONIKER='${MONIKER} >> $HOME/.bash_profile echo 'export CHAIN='${CHAIN} >> $HOME/.bash_profile echo 'export WALLET_NAME='${WALLET_NAME} >> $HOME/.bash_profile source $HOME/.bash_profile
Прописываем в конфиг имя сети и опцию сохранения ключей
stafihubd config chain-id $CHAIN stafihubd config keyring-backend file
wget -O $HOME/.stafihub/config/genesis.json "https://raw.githubusercontent.com/stafihub/network/main/testnets/stafihub-public-testnet-3/genesis.json"
pruning="custom" pruning_keep_recent="100" pruning_keep_every="0" pruning_interval="50" sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.stafihub/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.stafihub/config/app.toml sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.stafihub/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.stafihub/config/app.toml
Выключаем индексер (по желанию)
indexer="null" sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.stafihub/config/config.toml
sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.01ufis\"/" $HOME/.stafihub/config/app.toml
sed -i '/\[grpc\]/{:a;n;/enabled/s/false/true/;Ta};/\[api\]/{:a;n;/enable/s/false/true/;Ta;}' $HOME/.stafihub/config/app.toml
peers="4e2441c0a4663141bb6b2d0ea4bc3284171994b6@46.38.241.169:26656,79ffbd983ab6d47c270444f517edd37049ae4937@23.88.114.52:26656"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.stafihub/config/config.toml
echo "[Unit] Description=StaFiHub Node After=network.target
[Service] User=$USER Type=simple ExecStart=$(which stafihubd) start Restart=on-failure LimitNOFILE=65535
[Install] WantedBy=multi-user.target" > $HOME/stafihubd.service sudo mv $HOME/stafihubd.service /etc/systemd/system sudo tee <<EOF >/dev/null /etc/systemd/journald.conf Storage=persistent EOF
sudo systemctl restart systemd-journald sudo systemctl daemon-reload sudo systemctl enable stafihubd sudo systemctl restart stafihubd
Смотрим логи и ждем когда нода начнет синхронизироваться
Или смотрим статус синхронизации (когда "catching_up": false то нода синхронизирована) Если нода долго не подключается к пирам то просим поделиться пирами или адресбуком в дискорде или тематических телеграм каналах.
После синхронизации создаем кошелек (не забываем сохранить мнемоник)
Если кошелек уже есть то восстанавливаем с помощью мнемоника
Добавляем переменную с адресом кошелька
Добавляем переменную в баш профиль
echo 'export WALLET_ADDRESS='${WALLET_ADDRESS} >> $HOME/.bash_profile source $HOME/.bash_profile
Теперь нам необходимо получить средства на кошелек. Для этого переходим по ссылке и запрашиваем токены на баланс кошелька
После запроса проверяем баланс
Если средства успешно поступили, то создаем валидатора (сумму указывайте свою, сколько хотите делегировать с кошелька, указывайте чуть меньше что бы хватило на комиссию)
stafihubd tx staking create-validator \ --amount=99000000ufis \ --pubkey=$(stafihubd tendermint show-validator) \ --moniker=$MONIKER \ --commission-rate=0.10 \ --commission-max-rate=0.20 \ --commission-max-change-rate=0.01 \ --min-self-delegation=1 \ --from=$WALLET_NAME \ --chain-id=stafihub-public-testnet-3 \ --gas-prices=0.025ufis
Задаем переменную с адресом валидатора
VALOPER=$(stafihubd keys show $WALLET_ADDRESS --bech val -a)
echo 'export VALOPER='${VALOPER} >> $HOME/.bash_profile source $HOME/.bash_profile
Делегация средств с кошелька на валидатора (сумму вводите свою)
stafihubd tx staking delegate $VALOPER 1000000ufis --from $WALLET_NAME --chain-id $CHAIN
Ну и если вдруг ваша нода попала в тюрьму, то выход
stafihubd tx slashing unjail --from $WALLET_NAME --chain-id $CHAIN.
Большое спасибо, за внимание и уделенное время
Наш телеграмм канал по нодам — https://t.me/mmsnodes
Наш телеграмм чат по нодам - https://t.me/mmsnodeschat
Наш телеграмм канал по экосистеме Cosmos - https://t.me/cosmochannel_mms