Cosmos Nodes
February 16, 2023

Humans AI Node Guide | Гайд по ноде Хюманс 

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

4/8/100 - минимальные

8/32/200 - рекомендуемые

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

Установка

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

sudo apt update

sudo apt upgrade

sudo apt install -y curl git jq lz4 build-essential unzip

#устанавливаем го
go_package_url="https://go.dev/dl/go1.18.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/humansdotai/humans

cd humans

git checkout v1.0.0

go build -o humansd cmd/humansd/main.go

sudo cp humansd /usr/local/bin/humansd

humansd version
NODE_MONIKER="Your Node Name"
#Your Node Name заменить на имя своей ноды

humansd config keyring-backend test

humansd config chain-id testnet-1

Инициализация:

humansd init "$NODE_MONIKER" --chain-id testnet-1
#выдаст много текста - это норм

Копируем генезис:

curl -s https://rpc-testnet.humans.zone/genesis | jq -r .result.genesis > $HOME/.humans/config/genesis.json

Копируем адрбук:

curl -s https://snapshots-testnet.nodejumper.io/humans-testnet/addrbook.json > $HOME/.humans/config/addrbook.json

Добавляем peers и seeds и доп настройки в конфиг:

SEED=""

PEERS=""

sed -i 's|^seeds *=.*|seeds = "'$SEEDS'"|; s|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.humans/config/config.toml

sed -i 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.025uheart"|g' $HOME/.humans/config/app.toml

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

sudo tee /etc/systemd/system/humansd.service > /dev/null << EOF
[Unit]
Description=Humans AI Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which humansd) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
humansd tendermint unsafe-reset-all --home $HOME/.humans --keep-addr-book
SNAP_RPC="https://humans-testnet.nodejumper.io:443"

LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height)

BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000))

TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
sed -i 's|^enable *=.*|enable = true|' $HOME/.humans/config/config.toml

sed -i 's|^rpc_servers *=.*|rpc_servers = "'$SNAP_RPC,$SNAP_RPC'"|' $HOME/.humans/config/config.toml

sed -i 's|^trust_height *=.*|trust_height = '$BLOCK_HEIGHT'|' $HOME/.humans/config/config.toml

sed -i 's|^trust_hash *=.*|trust_hash = "'$TRUST_HASH'"|' $HOME/.humans/config/config.toml

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

sudo systemctl daemon-reload
sudo systemctl enable humansd
sudo systemctl start humansd

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

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

Если высота набирается криво, поставьте снепшот:

sudo apt update

sudo apt install lz4 -y

sudo systemctl stop humansd

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

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

curl https://snapshots-testnet.nodejumper.io/humans-testnet/testnet-1_2023-02-16.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.humans

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

sudo systemctl start humansd

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

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

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

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

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

Получаем токены:

Идем в дискорд, ветка #testnet-faucet

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

humansd status 2>&1 | jq .SyncInfo.catching_up
#ответ false - значит нода синхронизирована

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

humansd tx staking create-validator \
--amount=9000000uheart \
--pubkey=$(humansd tendermint show-validator) \
--moniker="$NODE_MONIKER" \
--chain-id=testnet-1 \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.05 \
--min-self-delegation=1 \
--fees=10000uheart \
--from=wallet \
-y

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

Данные о своем валидаторе:

humansd q staking validator $(humansd keys show wallet --bech val -a)

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

Smart Hamster Nodes Studio

YouTube канал тут!

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

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