Гайд по установке тестовой ноды Crowd Control - Тестнет 10

Crowd Control - это коллекционная карточная игра на блокчейне Cosmos, где вы можете создавать свои собственные карты, а ваш голос определяет баланс игры.

Гайд по установке тестовой ноды Crowd Control - Тестнет 10

Минимальные системные требования:

  • CPU - Core x2
  • RAM - 4Gb;
  • Storage - 100Gb.
  • OS - Ubuntu 22.04

Explorer: 1 2

Network Chain ID: cardtestnet-10

Хостинги с беспроблемной оплатой в РФ, мои рефералки:

Начинаем установку

Подготавливаем сервер:

sudo apt update && sudo apt upgrade -y

Устанавливаем набор утилит:

sudo apt install curl build-essential git wget jq make gcc tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y

Устанавливаем Go 1.21.3 одной командой:

ver="1.21.3" wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" sudo rm -rf /usr/local/go sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" rm "go$ver.linux-amd64.tar.gz" echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile source $HOME/.bash_profile go version

Устанавливаем бинарник:

git clone https://github.com/DecentralCardGame/Cardchain wget https://github.com/DecentralCardGame/Cardchain/releases/download/v0.14.2/Cardchaind chmod +x Cardchaind mv $HOME/Cardchaind /usr/local/bin

Проверяем версию:

Cardchaind version --long | grep -e commit -e version

Вывод должен быть таким:

version: 0.14.2

Создание/восстановление кошелька

Для первичной установки:

Cardchaind keys add <walletname>

- вместо <walletname> напишите свое название кошелька без скобок, например - TestWallet. Сохраните адрес кошелька и мнемоник фразу, никому ее не показывайте!

Для восстановления кошелька:

Cardchaind keys add <walletname> --recover

- для первичной установки не требуется.

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

Cardchaind init <name_moniker> --chain-id cardtestnet-10 Cardchaind config chain-id cardtestnet-10

- вместо <name_moniker> напишите свое название своего валидатора без скобок.

Скачиваем Genesis:

wget http://45.136.28.158:3000/genesis.json -O $HOME/.cardchaind/config/genesis.json

Скачиваем адресбук:

wget -O $HOME/.cardchaind/config/addrbook.json "https://github.com/DecentralCardGame/Testnet/blob/main/addrbook.json"

Задаем минимальное значение газа, пиры и сиды:

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0ubpf\"/;" ~/.cardchaind/config/app.toml external_address=$(wget -qO- eth0.me) sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:20056\"/" $HOME/.cardchaind/config/config.toml peers="ab88b326851e26cf96d1e4634d08ca0b8d812032@202.61.225.157:20056" sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.cardchaind/config/config.toml seeds="" sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.cardchaind/config/config.toml

Настраиваем прунинг одной командой (опционально) для экономии места:

pruning="custom" && pruning_keep_recent="1000" && pruning_keep_every="0" && pruning_interval="10" && sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.cardchaind/config/app.toml && sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.cardchaind/config/app.toml && sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.cardchaind/config/app.toml && sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.cardchaind/config/app.toml

Выключаем индексер (по желанию) для экономии места:

ndexer="null" && \ sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.cardchaind/config/config.toml

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

sudo tee <<EOF >/dev/null /etc/systemd/system/Cardchaind.service [Unit] Description=Cardchain Daemon After=network-online.target [Service] User=$USER ExecStart=$(which Cardchaind) start Restart=always RestartSec=10 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF

Запуск ноды

Запускаем наш сервис и ждем синхронизации

sudo systemctl daemon-reload sudo systemctl enable Cardchaind sudo systemctl restart Cardchaind

Посмотреть логи:

sudo journalctl -u Cardchaind -f -o cat

Ждем пока нода синхронизируется. Проверяем состояние так:

curl -s localhost:26657/status

- если результат true - значит синхронизация еще идет, если false - значит все готово.

- проверить состояние ноды синхронизировалась она или нет - команды аналогичные.

После синхронизации получаем тестовые монеты и создаем валидатор

Для этого переходим на сайт:

1. Жмем Add New Wallet и импортируем свой кошелек с помощью мнемоник фразы
1. Жмем Add New Wallet и импортируем свой кошелек с помощью мнемоник фразы

После того как вы импортировали на сайт свой кошелек и прошли капчу, вам автоматически начислят 300 тестовых монет - 300bpf.

Проверить баланс кошелька

Cardchaind q bank balances <address>

- вместо <address> вставить свой адрес без <скобок>

Далее создаем своего валидатора:

Cardchaind tx staking create-validator \ --amount 1000000ubpf \ --from <walletName> \ --commission-max-change-rate "0.1" \ --commission-max-rate "0.2" \ --commission-rate "0.05" \ --min-self-delegation "1" \ --details="" \ --identity="" \ --pubkey $(Cardchaind tendermint show-validator) \ --moniker <name_moniker> \ --fees 300ubpf \ --chain-id cardtestnet-10 -y

- вместо <walletname> и <name_moniker> вписать свои имена без <скобок>

После успешного проведения команды, валидатор будет запущен, он будет отображаться в эксплорере

Полезные команды

Посмотреть логи можно следующей командой

sudo journalctl -u Cardchaind -f -o cat

Остановить ноду

sudo systemctl stop Cardchaind

Рестарт ноды

sudo systemctl restart Cardchaind && sudo journalctl -u Cardchaind -f -o cat

Выбраться из тюрьмы

Cardchaind tx slashing unjail --from <name_wallet> --fees 500ubpf -y

Проверить баланс кошелька

Cardchaind q bank balances <address>

Проверить валидатора

Cardchaind query staking validators --limit 1000000 -o json | jq '.validators[] | select(.description.moniker=="<name_moniker>")' | jq

- вместо <name_moniker> - указать свое имя валидатора без <скобок>

Делегировать 1 монету

​Cardchaind tx staking delegate <valoper_address> 1000000ubpf --from <name_wallet> --fees 500ubpf -y

- <valoper_address> - это адрес кошелька валидатора

Собрать комиссионные + реварды

Cardchaind tx distribution withdraw-rewards <valoper_address> --from <name_wallet> --fees 500ubpf --commission -y

ГОВЕРНАНС

список proposals

Cardchaind q gov proposals

Проголосовать за предложение:

Cardchaind tx gov vote <1> yes --from <name_wallet> --fees 555ubpf

- вместо <1> - указать номер активного proposals без <скобок>

Посмотреть результат голосования:

Cardchaind q gov proposals --voter <name_wallet>

Удаление ноды

sudo systemctl stop Cardchaind sudo rm /etc/systemd/system/Cardchaind.service sudo rm -rf $HOME/.cardchaind/ sudo rm -rf Testnet sudo rm -rf $(which Cardchaind)

Ссылки:

11
Начать дискуссию