Cosmos Nodes
January 9, 2023

Gitopia Node Guide | Гитопия Гайд по ноде

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

Минимальные: 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)

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