Humans | Testnet - установка ноды
Требования к серверу:- 4/8/100 - минимальные
- 8/32/200 - рекомендуемые
Установка
Подготавливаем сервер:
Код:
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)