Gitopia | Testnet - установка ноды
Требования к серверу:
Минимальные: 4/8/100 (100 мало, скушало 160 гб, сейчас взяла себе 300)
я взяла СPХ31 хетцнере
Установка
Подготавливаем сервер:
Код:
sudo apt update
sudo apt install -y make gcc build-essential git jq
Устанавливаем GO:
Код:
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
echo "export CONFIG_DIR=$HOME/.noisd/config" >>~/.profile
echo "export NODE_MONIKER=YOUR_NODE_MONIKER" >>~/.profile
#азменить YOUR_NODE_MONIKER на имя своей ноды
source ~/.profile
git-remote-gitopia
Код:
curl https://get.gitopia.com | bash
sudo mv /tmp/tmpinstalldir/git-remote-gitopia /usr/local/bin/
#если команда не выполнится, то проверяем где находится git-remote-gitopia
which git-remote-gitopia
#правильный ответ /usr/local/bin/, если нет - перемещаем его туда
Копируем репозиторий проекта и запускаем билд:
Код:
git clone -b v1.2.0 gitopia://gitopia/gitopia
cd gitopia && make install
Проверяем версию:
Код:
gitopiad version --long
Код:
gitopiad config keyring-backend test
gitopiad config chain-id gitopia-janus-testnet-2
Инициализируем ноду:
Код:
gitopiad init "$NODE_MONIKER" --chain-id gitopia-janus-testnet-2
Выкачиваем генезис:
Код:
curl -s https://server.gitopia.com/raw/gitopia/testnets/master/gitopia-janus-testnet-2/genesis.json.gz > ~/.gitopia/config/genesis.gz
gunzip -c ~/.gitopia/config/genesis.gz > ~/.gitopia/config/genesis.json
rm -rf ~/.gitopia/config/genesis.zip
Выкачиваем addrbook:
Код:
curl -s https://snapshots4-testnet.nodejumper.io/gitopia-testnet/addrbook.json > $HOME/.gitopia/config/addrbook.json
Добавляем пиры:
Код:
SEEDS="[email protected]:26656"
PEERS=""
sed -i 's|^seeds *=.*|seeds = "'$SEEDS'"|; s|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.gitopia/config/config.toml
Создаем сервисный файл:
Код:
sudo tee /etc/systemd/system/gitopiad.service > /dev/null << EOF
[Unit]
Description=Gitopia Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which gitopiad) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
Запускаем сервисный файл:
Код:
sudo systemctl daemon-reload
sudo systemctl enable gitopiad
sudo systemctl start gitopiad
sudo systemctl status gitopiad
Проверяем логи:
Код:
sudo journalctl -u gitopiad -f --no-hostname -o cat
Создаем кошелек:
Код:
gitopiad keys add wallet
#сохраните данные кошелька!!!
Код:
cat $HOME/.gitopia/config/priv_validator_key.json
#сохраните ключи!!!
Запрашиваем токены:
Идем на
этот сайт, конектим кошелек и запрашиваем токены в кране
Проверяем баланс:
Код:
gitopiad q bank balances $(gitopiad keys show wallet -a)
Проверяем синхронизацию ноды:
Код:
gitopiad status 2>&1 | jq .SyncInfo.catching_up
#true - нода в процессе синхронизации
#false - нода синхронизирована
Создаем валидатора (только после того, как нода синхронизируется!!)
Заменить YOUR_VALIDATOR_MONIKER на моникер своего валидатора
Код:
gitopiad tx staking create-validator \
--amount=9000000utlore \
--pubkey=$(gitopiad tendermint show-validator) \
--moniker="YOUR_VALIDATOR_MONIKER" \
--chain-id=gitopia-janus-testnet-2 \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.05 \
--min-self-delegation=1 \
--fees=20000utlore \
--from=wallet \
-y
Проверить данные валидатора:
Код:
gitopiad q staking validator $(gitopiad keys show wallet --bech val -a)
Эксплорер
тут