Установка ноды Qwoyn
Общая информация
Блокчейн Qwoyn - это децентрализованная платформа для игр и сервисов для них. Разработка ведется на основании наработок в Cosmic Horizon, сеть и ее вспомогательные модули созданы для поддержки будущего развертывания игр, сервисов, инструментов и т.п.
По мне это все тот же Cosmic Horizon под соусом от блокчейна для Игр.
Более подробно о проекте можно узнать в их официальной документации.
Я решил на таком простом примере показать работу Майнета. Как получить делегацию от проекта или привлечь обычных стейкеров.) Что может быть проще, чем нода на Cosmos)
Основная причина, по которой мы поднимаем ноду, возможность получить делегацию от проекта и быть валидатором в основной сети (mainnet).
Подготовка сервера и установка Ноды:
Минимальные требования:
ОС: Ubuntu 18.04. или Ubuntu 20.04.
Процессор (CPU): 4-ядерный и больше.
Оперативная память (RAM): 8 GB и больше.
Внутренняя память (ROM): 160 GB и больше.
sudo apt update
sudo apt install git build-essential wget jq -y
Проверка Версии GO, если у вас версия ниже 19, то следуем инструкциям ниже. Выше, то можете пропустить перейти сразу сюда:
go version
wget https://dl.google.com/go/go1.20.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.20.3.linux-amd64.tar.gz
echo "" >> ~/.bashrc echo 'export GOPATH=$HOME/go' >> ~/.bashrc echo 'export GOROOT=/usr/local/go' >> ~/.bashrc echo 'export GOBIN=$GOPATH/bin' >> ~/.bashrc echo 'export PATH=$PATH:/usr/local/go/bin:$GOBIN' >> ~/.bashrc
cd $HOME
source ~/.bashrc
git clone https://github.com/cosmic-horizon/QWOYN
cd QWOYN
git fetch
git checkout v5.2.0
make install
qwoynd version
Инициализируем ноду, вместо [moniker] вписываем желаемое имя валидатора:
qwoynd init [moniker] --chain-id qwoyn-1
sudo tee /etc/systemd/system/qwoynd.service > /dev/null <<EOF [Unit] Description=qwoynd After=network-online.target [Service] User=$USER ExecStart=$(which qwoynd) start --home $HOME/.qwoynd Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
cd ~/.qwoynd/config rm genesis.json wget https://raw.githubusercontent.com/cosmic-horizon/mainnet/main/genesis.json
cd ~/.qwoynd/config SEED_NODE="[email protected]:26656" sed -i '/seeds =/c\seeds = "'"$SEED_NODE"'"' ~/.qwoynd/config/config.toml
Меняем газ по умолчанию, на тот, что рекомендуется в документации:
GAS_FEE="0.025uqwoyn" sed -i '/minimum-gas-prices =/c\minimum-gas-prices = "'"$GAS_FEE"'"' ~/.qwoynd/config/app.toml
Настраиваем pruning, чтобы нода с течением времени не занимала много места:
sed -i 's|^pruning *=.*|pruning = "custom"|g' $HOME/.qwoynd/config/app.toml sed -i 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|g' $HOME/.qwoynd/config/app.toml sed -i 's|^pruning-interval *=.*|pruning-interval = "10"|g' $HOME/.qwoynd/config/app.toml sed -i 's|^snapshot-interval *=.*|snapshot-interval = 0|g' $HOME/.qwoynd/config/app.toml
qwoynd tendermint unsafe-reset-all --keep-addr-book --home $HOME/.qwoynd
STATE_SYNC_RPC=https://qwoyn.rpc.kjnodes.com:443 STATE_SYNC_PEER=d9bfa29e0cf9c4ce0cc9c26d98e5d97228f93b0b@qwoyn.rpc.kjnodes.com:16356 LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height) SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 1000)) SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash) sed -i -e "s|^enable *=.*|enable = true|" -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" -e "s|^persistent_peers *=.*|persistent_peers = \"$STATE_SYNC_PEER\"|" $HOME/.qwoynd/config/config.toml
cd $HOME curl -L https://snapshots.kjnodes.com/qwoyn/wasm_latest.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.qwoynd
cd $HOME sudo systemctl daemon-reload sudo systemctl enable qwoynd sudo systemctl start qwoynd
sudo journalctl -u qwoynd -f -o cat
Дожидаемся синхронизации ноды. Команда проверки состояния синхронизации:
qwoynd status 2>&1 | jq .SyncInfo
Если в строке будет "catching_up": false, то это значит, что нода синхронизирована. ("catching_up": true - не синхронизирована).
Далее создаем кошелёк, вместо [name] вписываем желаемое название кошелька:
qwoynd keys add [name]
qwoynd keys add [name] --recover
Далее потребуется ввести Seed и пароль для проведения операций/транзакций.
Когда нода синхронизировалась и создали/импортировали кошелек, переходим к созданию валидатора:
Для создания валидатора потребуются $QWOYN. Их можно запросить в чатах discord или telegramЕ проекта, ссылки ТЫК.
Когда токены запросили, проверяем баланс. Вместо [wallet_address] вписываем адрес кошелька:
qwoynd query bank balances [wallet_address]
Если вы не знаете свой кошелек (хотя вы на него запросили токены) то можете его узнать с помощью команды:
qwoynd keys list
Изменяем [node_moniker] на желаемое имя вашего валидатора.
Изменяем [key_name] на имя созданного или импортированного кошелька.
В [qwoyn_amount] ставим кол-во монет, которое нам удалось добыть для создания валидатора. Не забываем оставить некоторое количество монет для газа:
qwoynd tx staking create-validator \ --amount=[qwoyn_amount] \ --pubkey=$(qwoynd tendermint show-validator) \ --moniker="[node_moniker]" \ --chain-id="qwoyn-1" \ --commission-rate="0.05" \ --commission-max-rate="0.20" \ --commission-max-change-rate="0.01" \ --min-self-delegation="10" \ --gas="400000" \ --from=[key_name] \ --fees="10000uqwoyn"
Через некоторое время вы должны увидеть себя в Explorer
Для получения делегации потребуется попасть в активный сет (в данный момент это 20 монет). После этого можно выдвинуть свою кандидатуру на получение делегации!
Чтобы получить делегацию от проекта, нужно активничать в их Discord. В таком случае есть шанс получить монеты от команды раньше публичного распределения валидаторам. Когда будут активны формы для всех, условия и требования к кандидатам будут жестче.
Полезные ссылки
Официальный сайт Cosmic Horizon