Гайд REPUBLIC AI. Установка ноды и создание валидатора.
📋 Требования:
от 4 CPU 16 RAM и 100GB свободного места.
Берем сервер в 760р в месяц.
При регистрации у хостера Play2Go вы получаете +10% к сумме первого пополнения. А так же используйте промокод SNGDAO - он даст +5% на повторное пополнение счета🔥
Используемые нодой порты: 26656
🧩Подготовка
1️⃣Читаем пост в ТГ и регистрируемся.
2️⃣ Обновляем пакеты, если сервер новый или давно не обновляли
sudo apt-get update && sudo apt-get upgrade -y
sudo apt install curl git jq lz4 -y
sudo apt install -y docker.io curl jq sudo systemctl enable docker sudo systemctl start docker
🚀 Установка
docker pull ghcr.io/republicai/republicd:0.1.0
2️⃣ Инициализация данных и получение генезиса, копируем команду целиком
REPUBLIC_HOME="$HOME/.republicd" mkdir -p "$REPUBLIC_HOME" # Initialize (runs as root to create files) docker run --rm \ --user 0:0 \ -v "$REPUBLIC_HOME:/home/republic/.republicd" \ ghcr.io/republicai/republicd:0.1.0 \ init my-node --chain-id raitestnet_77701-1 --home /home/republic/.republicd # Download genesis sudo curl -s https://raw.githubusercontent.com/RepublicAI/networks/main/testnet/genesis.json -o "$REPUBLIC_HOME/config/genesis.json"
3️⃣ Настраиваем синхронизацию, копируем команду целиком
SNAP_RPC="https://statesync.republicai.io" LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height) BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)) TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) sudo sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \ s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \ s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \ s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" "$REPUBLIC_HOME/config/config.toml" PEERS="e281dc6e4ebf5e32fb7e6c4a111c06f02a1d4d62@3.92.139.74:26656,cfb2cb90a241f7e1c076a43954f0ee6d42794d04@54.173.6.183:26656,dc254b98cebd6383ed8cf2e766557e3d240100a9@54.227.57.160:26656" sudo sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" "$REPUBLIC_HOME/config/config.toml" # Fix ownership to match container user (UID 1001) sudo chown -R 1001:1001 "$REPUBLIC_HOME"
docker run -d --name republicd \ --network host \ -v "$REPUBLIC_HOME:/home/republic/.republicd" \ ghcr.io/republicai/republicd:0.1.0 \ start --home /home/republic/.republicd --chain-id raitestnet_77701-1
5️⃣Через пару минут проверяем синхронизацию
docker exec -it republicd republicd status | jq '.sync_info'
Должно быть, что-то похоже на это с "catching_up": false в конце
🤖Создание кошелька и валидатора
1️⃣ После того как нода синхронизировалась, создаем кошелек валидатора (имя кошелька validator)
docker exec -it republicd republicd keys add validator \ --home /home/republic/.republicd
! Придумываем пароль(он будет использоваться для подтверждения операций), сохраняем в надежном месте адрес кошелька и мнемоник фразу и ваш придуманный пароль.
Для запуска валидатора нам нужно 1 RAI токенов. Идем в дискорд скидываем скрин логово синхронизации, как в примере выше и просим отправить на адрес валадитора, который мы сейчас создали 1 токенов. Запрашиваем в разделе protocol-talk или в help-forum
Ваш адрес валидатора можно в любое время узнать командой:
docker exec -it republicd republicd keys show validator -a \ --home /home/republic/.republicd
PUBKEY=$(docker exec -it republicd republicd comet show-validator \ --home /home/republic/.republicd | tr -d '\r')
В команде ниже заменяем "YOUR_MONIKER" на ваше любое имя(Будет показываться в списке валидаторов) и выполняем команду
cat > validator.json <<EOF
{
"pubkey": $PUBKEY,
"amount": "1000000000000000000arai",
"moniker": "YOUR_MONIKER",
"identity": "",
"website": "",
"details": "Republic AI Validator",
"commission-rate": "0.10",
"commission-max-rate": "0.20",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}
EOF3️⃣ Копируем настройки в контейнер
docker cp validator.json republicd:/tmp/validator.json
4️⃣Запускаем команду создания валидатора
docker exec -it republicd republicd tx staking create-validator /tmp/validator.json \ --home /home/republic/.republicd \ --chain-id raitestnet_77701-1 \ --gas auto \ --gas-adjustment 1.5 \ --gas-prices 1000000000arai \ --from validator \ -y
Валидатор создан. Вы можете увидеть его в списке валидаторов введя в поиск своя имя, которое указывали в moniker, так же вы там сможете увидить свой адрес оператора (Operator Address)
У валидатора так же есть статус Active или Innactive. Сейчас чтобы стать активным, нужно, чтобы ему было делегировано 12+ токенов RAI
теперь можете добавить его на сайте.
🛠 Команды валидатора
docker logs -f republicd
docker exec -it republicd republicd status | jq '.sync_info'
docker exec -it republicd republicd status | jq -r .sync_info.latest_block_height
🔹 Делегировать себе токены (в примере сумма 10 rai)
docker exec -it republicd republicd tx staking delegate \ Ваш_адрес_ОПЕРАТОРА \ 10000000000000000000arai \ --from validator \ --home /home/republic/.republicd \ --chain-id raitestnet_77701-1 \ --gas auto --gas-adjustment 1.5 \ --gas-prices 1000000000arai
docker exec -it republicd republicd tx distribution withdraw-rewards \ Ваш_адрес_ОПЕРАТОРА \ --from validator \ --commission \ --home /home/republic/.republicd \ --chain-id raitestnet_77701-1 \ --gas auto --gas-adjustment 1.5 \ --gas-prices 1000000000arai \ -y
docker exec -it republicd republicd tx slashing unjail \ --home /home/republic/.republicd \ --from validator \ --chain-id raitestnet_77701-1 \ --gas auto \ --gas-adjustment 1.5 \ --gas-prices 3500000000arai \ -y
🔄Управления нодой
▶️ Перезапустить ноду
docker restart republicd
docker stop republicd
docker rm -f republicd
☠️Удалить полностью ноду с сервера
docker rm -f republicd rm -rf ~/.republicd