Установка ноды Humans.ai
Humans.ai — это блокчейн-платформа, которая направлена на улучшение использования искусственного интеллекта (ИИ) в творчестве.
ИИ сейчас в мете, скипать не стоит, надо попытаться попасть в тестнет.
Самое тяжелое, это заполнить форму на участие))
Сайт проекта | Документация проекта | Discord | GitHub | Explorer
Telegram канал сообщества Starnodes
Награды
Системные требования
Используемые порты: 26656,26657,6060,9090,9091 tcp
26656 - P2P порт должен быть открыт для всех.
26657 - RPC порт открывается опционально.
Аренда сервера:
1) Хостинг Hetzner - неплохой хостинг для аренды VPS по соотношению цена-качество, подойдет для большинства нод.
2) Хостинг Starnodes - VPS сервера с большой ёмкостью NVME накопителя. Все сервера расположены в датацентре и работают 24/7.
Подготовка сервера
Создание пользователя (по желанию):
adduser $NEWUSER
usermod -aG sudo $NEWUSER
Установим необходимое программное обеспечение:
sudo apt install curl chrony tar wget clang pkg-config libssl-dev libleveldb-dev jq build-essential bsdmainutils git make ncdu htop screen unzip bc htop mc -y
Опционально установите fail2ban:
sudo apt install fail2ban -y
cd $HOME && \ ver="1.19.3" && \ 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
Начало установки ноды:
MONIKER="moniker" WALLET="moniker_wallet" CHAIN="testnet-1"
echo "export MONIKER=$MONIKER" >> $HOME/.bash_profile && \ echo "export WALLET=$WALLET" >> $HOME/.bash_profile && \ echo "export CHAIN=$CHAIN" >> $HOME/.bash_profile && \ source $HOME/.bash_profile
cd $HOME rm -rf ~/humans git clone https://github.com/humansdotai/humans cd humans git checkout v1.0.0 go build -o humansd cmd/humansd/main.go mkdir -p ~/go/bin/ mv humansd ~/go/bin/humansd
humansd config chain-id $CHAIN humansd config keyring-backend test humansd init $MONIKER --chain-id $CHAIN
curl -s https://rpc-testnet.humans.zone/genesis | jq -r .result.genesis > $HOME/.humans/config/genesis.json curl https://raw.githubusercontent.com/starnodes/humans/master/addrbook.json > ~/.humans/config/addrbook.json
SEEDS="" PEERS="[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656" sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.humans/config/config.toml
pruning="custom" pruning_keep_recent="100" pruning_interval="10" sed -i.bak -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.humans/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.humans/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.humans/config/app.toml
indexer="null" sed -i.bak -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.humans/config/config.toml
Настраиваем минимальную цену за газ в app.toml
sed -i 's/minimum-gas-prices =.*/minimum-gas-prices = "0.025uheart"/g' $HOME/.humans/config/app.toml
Установите параметры времени блока:
CONFIG_TOML="$HOME/.humans/config/config.toml" sed -i 's/timeout_propose =.*/timeout_propose = "100ms"/g' $CONFIG_TOML sed -i 's/timeout_propose_delta =.*/timeout_propose_delta = "500ms"/g' $CONFIG_TOML sed -i 's/timeout_prevote =.*/timeout_prevote = "100ms"/g' $CONFIG_TOML sed -i 's/timeout_prevote_delta =.*/timeout_prevote_delta = "500ms"/g' $CONFIG_TOML sed -i 's/timeout_precommit =.*/timeout_precommit = "100ms"/g' $CONFIG_TOML sed -i 's/timeout_precommit_delta =.*/timeout_precommit_delta = "500ms"/g' $CONFIG_TOML sed -i 's/timeout_commit =.*/timeout_commit = "1s"/g' $CONFIG_TOML sed -i 's/skip_timeout_commit =.*/skip_timeout_commit = false/g' $CONFIG_TOML
humansd tendermint unsafe-reset-all --home $HOME/.humans --keep-addr-book
sudo tee /etc/systemd/system/humansd.service > /dev/null <<EOF [Unit] Description=humansd Node After=network.target [Service] User=$USER Type=simple ExecStart=$(which humansd) start Restart=on-failure LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
Запускаем службу и добавляем в автозапуск:
sudo systemctl daemon-reload sudo systemctl enable humansd sudo systemctl restart humansd && sudo journalctl -u humansd -f
Проверить статус синхронизации:
humansd status 2>&1 | jq .SyncInfo
humansd keys add $WALLET
Или восстановить по мнемонике:
humansd keys add $WALLET --recover
Добавим адрес валидатора и кошелька в переменные для удобства:
VALOPER=$(humansd keys show $WALLET --bech val -a) && \ ADDRESS=$(humansd keys show $WALLET --address) && \ echo "export VALOPER=$VALOPER" >> $HOME/.bash_profile && \ echo "export ADDRESS=$ADDRESS" >> $HOME/.bash_profile && \ source $HOME/.bash_profile
https://discord.com/channels/999302051538411671/1039540296540770385
humansd query bank balances $ADDRESS
humansd tx staking create-validator \ --amount=9900000uheart \ --pubkey=$(humansd tendermint show-validator) \ --moniker=$MONIKER \ --chain-id=$CHAIN \ --commission-rate="0.10" \ --commission-max-rate="0.20" \ --commission-max-change-rate="0.05" \ --min-self-delegation=1000000 \ --fees=5000uheart \ --from=$WALLET \ -y
Не забывайте заполнить форму на участие (смотрите в описании).
Удалить ноду:
sudo systemctl stop humansd sudo systemctl disable humansd sudo rm -rf /etc/systemd/system/humansd* sudo systemctl daemon-reload sudo rm $(which humansd) sudo rm -rf $HOME/.humans sudo rm -fr $HOME/humans
Полезные команды:
# Логи службы ноды journalctl -u humansd -f -o cat # Управление службами systemctl status humansd systemctl stop humansd systemctl start humansd systemctl restart humansd # Проверить статус ноды humansd status 2>&1 | jq
# Посмотреть адрес кошелька echo $ADDRESS # Проверить баланс кошелька humansd q bank balances $ADDRESS # Отправка токенов 1 token = 1000000 (Cosmos) humansd tx bank send $WALLET <ADDRESS_TO> <TOKENS_COUNT>$TOKEN --fees 500$TOKEN # Удалить кошелек humansd keys delete $WALLET
! Если транзакции не отправляются с ошибкой account sequence mismatch, expected 18, got 17: incorrect account sequence, то добавьте в команду ключ -s 18 (номер замените на тот, который ждет sequence)
# Проголосовать humansd tx gov vote 1 yes --from $WALLET --fees 500$TOKEN -y # Посмотреть пропосалы, где вы проголосовали humansd q gov proposals --voter $ADDRESS
# Получить адрес валидатора (valoper) echo $VALOPER # Изменить данные валидатора humansd tx staking edit-validator --website="<YOUR_WEBSITE>" --details="<YOUR_DESCRIPTION>" --moniker="<YOUR_NEW_MONIKER>" --from=$WALLET --fees 500$TOKEN # Выйти из тютьмы humansd tx slashing unjail --from $WALLET --fees 500$TOKEN # Делегировать токены вашему валидатору humansd tx staking delegate $VALOPER <TOKENS_COUNT>$TOKEN --from $WALLET --fees 500$TOKEN -y # Сбросить валидатора, удалить базу и addrbook.json humansd tendermint unsafe-reset-all --home $HOME/$HOME/.humans
@starnodes_ru - наш канал в Telegram с новостями и гайдами по тестнетам.
@starnodes_chat - канал, куда можно обратиться за помощью.