June 30

Titan Validator Node Guide | Гайд по валидаторской ноде Титан

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

16/16/2TB

Подготовка сервера:

sudo apt-get update -y && sudo apt upgrade -y && sudo apt-get install make build-essential unzip lz4 gcc git jq -y
#устанавливаем го 
sudo rm -rf /usr/local/go

curl -Ls https://go.dev/dl/go1.21.5.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local

eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)

eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)

Установка ноды:

git clone https://github.com/nezha90/titan.git
#клонируем репозиторий

cd titan
#переходим в директорию

go build ./cmd/titand
#запускаем билд

cp titand /usr/local/bin
#копируем файл

Инициализируем ноду:

titand init <moniker> --chain-id titan-test-1
#заменить <moniker> на имя своей ноды

Выкачиваем генезис:

wget https://raw.githubusercontent.com/nezha90/titan/main/genesis/genesis.json

mv genesis.json ~/.titan/config/genesis.json

Выкачиваем адрбук:

wget https://raw.githubusercontent.com/nezha90/titan/main/addrbook/addrbook.json

mv addrbook.json ~/.titan/config/addrbook.json

Добавляем сиды:

sed -i -e 's|^seeds *=.*|seeds = "[email protected]:26656"|' $HOME/.titan/config/config.toml

Газпрайс:

sed -i -e 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.0025uttnt"|' $HOME/.titan/config/app.toml

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

sudo tee /etc/systemd/system/titan.service > /dev/null << EOF
[Unit]
Description=Titan Daemon
After=network-online.target

[Service]
User=root
ExecStart=/usr/local/bin/titand start
Restart=always
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target
EOF

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

sudo systemctl daemon-reload
sudo systemctl enable titan.service
sudo systemctl start titan.service

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

journalctl -u titan.service

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

Добавление кошелька:

titand keys add wallet
#запишите мнемонику!!!

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

titand status | jq .SyncInfo.catching_up
#ответ false - значит нода синхронизирована
также вы можете проверить синхронизацию сравнив блоки в логах с последним блоков сети в эксплорере

Создание валидатора(после полной синхронизации):

для простоты использования большой команды, предлагаю задать переменные:
MONIKER=<moniker>
#заменить <moniker> на имя своей ноды

IP=<ip>
#заменить <ip> на айпи вашего сервера
titand tx staking create-validator \
  --amount=1000000uttnt \
  --pubkey=$(titand tendermint show-validator) \
  --chain-id=titan-test-1 \
  --moniker=$MONIKER \
  --from=wallet \
  --commission-max-change-rate=0.01 \
  --commission-max-rate=1.0 \
  --commission-rate=0.07 \
  --min-self-delegation=1 \
  --fees 500uttnt \
  --ip=$IP

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