Crowd Control је колекционарска карташка игра заснована на блокчејну где играчи могу да креирају сопствене карте и да комуницирају са другим члановима екосистема. Овај чланак пружа детаљна упутства о томе како да инсталирате и конфигуришете чвор за тестмрежу Crowd Control.
Да бисте поједноставили процес инсталације, можете користити аутоскрипт:
wget -O crowd https://raw.githubusercontent.com/111STAVR111/props/main/Crowd/crowd && chmod +x crowd && ./crowd
Прво, потребно је да ажурирате и инсталирате све потребне пакете на серверу:
sudo apt update && sudo apt upgrade -y sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc chrony liblz4-tool -y
Инсталирање Go 1.21.6
ver="1.21.6" 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
Cardchaind верзија 11.07.24
cd $HOME && mkdir -p go/bin/ git clone https://github.com/DecentralCardGame/Cardchain wget -O Cardchaind https://github.com/DecentralCardGame/Cardchain/releases/download/v0.16.0/cardchaind chmod +x Cardchaind mv $HOME/Cardchaind /usr/local/bin Cardchaind version --long | grep -e commit -e version
Проверите верзију:
version: 0.16.0 commit: be4d9f600b2274bf9dce0ec944c3ba175fa7db8e
Иницијализујте чвор навођењем имена и ИД-а мреже:
Cardchaind init <your_node_name> --chain-id cardtestnet-12 Cardchaind config chain-id cardtestnet-12
Креирајте или вратите новчаник
Cardchaind keys add <walletname> Cardchaind keys add <walletname> --recover
Преузмите датотеку Genesis за синхронизацију са мрежом:
wget -O $HOME/.cardchaind/config/genesis.json "https://cardchain.crowdcontrol.network/files/genesis.json" sha256sum $HOME/.cardchaind/config/genesis.json
Проверите хеш:
1aedb68136b19f16edfe9c7e4e73a38f0fbc93cb13c555ca29b3493b40facc58
Подешавање минималне цене гаса, конкурената и других параметара
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:26656"/" $HOME/.cardchaind/config/config.toml peers="86b643ba743ccc78e6e086120d43c96f85872601@202.61.225.157:20656" sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = "$peers"/" $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
Индексатор (необазательно)
indexer="null" && sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.cardchaind/config/config.toml
Преузми адресну књигу
wget -O $HOME/.cardchaind/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Crowd/addrbook.json"
Создајте сервисниј фајл дла автоматического запуска ноди:
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
StateSync Crowd Testnet
SNAP_RPC=https://crowd.rpc.t.stavr.tech:443 PEERS="ec585d7fb38b67619dcb79aad90722f0eaf0faa3@crowd.peer.stavr.tech:21206" sed -i.bak -e "s/^seeds *=.*/seeds = "$SEEDS"/; s/^persistent_peers *=.*/persistent_peers = "$PEERS"/" $HOME/.cardchaind/config/config.toml LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height) && BLOCK_HEIGHT=$((LATEST_HEIGHT - 100)) && TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash); echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH 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"|" $HOME/.cardchaind/config/config.toml; Cardchaind tendermint unsafe-reset-all wget -O $HOME/.cardchaind/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Crowd/addrbook.json" sudo systemctl restart Cardchaind && journalctl -u Cardchaind -f -o cat
СнапСхот Тестнет обновлаетса каждие 5 часов
cd $HOME apt install lz4 sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|1false|" ~/.cardchaind/config/config.toml sudo systemctl stop Cardchaind cp $HOME/.cardchaind/data/priv_validator_state.json $HOME/.cardchaind/priv_validator_state.json.backup rm -rf $HOME/.cardchaind/data curl -o - -L http://crowd.snapshot.stavr.tech:1013/crowd/crowd-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.cardchaind --strip-components 2 mv $HOME/.cardchaind/priv_validator_state.json.backup $HOME/.cardchaind/data/priv_validator_state.json wget -O $HOME/.cardchaind/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Crowd/addrbook.json" sudo systemctl restart Cardchaind && journalctl -u Cardchaind -f -o cat
Теперь можете запустити ноду и следить за ее статусом:
sudo systemctl daemon-reload sudo systemctl enable Cardchaind sudo systemctl restart Cardchaind && sudo journalctl -u Cardchaind -f -o cat
Когда нода синхронизована, создајте валидатора:
Cardchaind tx staking create-validator --amount 1000000ubpf --from <walletName> --commission-max-change-rate "0.2" --commission-max-rate "1" --commission-rate "0.1" --min-self-delegation "1" --details="" --identity="" --pubkey $(Cardchaind tendermint show-validator) --moniker <validator_name> --fees 300ubpf --chain-id cardtestnet-12 -y
Удалити узел
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)
Проверите статус чвора:
Cardchaind status 2>&1 | jq .NodeInfo Cardchaind status 2>&1 | jq .SyncInfo Cardchaind status 2>&1 | jq .ValidatorInfo
Провера логова чворова:
sudo journalctl -fu Cardchaind -o cat
Провера статуса услуге:
sudo systemctl status Cardchaind
Поново покрените услугу:
sudo systemctl restart Cardchaind
Заустави услугу:
sudo systemctl stop Cardchaind
Покрените услугу:
sudo systemctl start Cardchaind
Поново покрени/Онемогући/Омогући
sudo systemctl daemon-reload
sudo systemctl disable Cardchaind
sudo systemctl enable Cardchaind
Ваш вршњак
echo $(Cardchaind tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.cardchaind/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Нови кључ или опоравак кључа
Cardchaind keys add Wallet_Name
ИЛИ
Cardchaind keys add Wallet_Name --recover
Провери све кључеве
Cardchaind keys list
Провери стање
Cardchaind query bank balances cc...addressjkl1yjgn7z09ua9vms259j
Тастер за брисање
Cardchaind keys delete Wallet_Name
Извоз кључа
Cardchaind keys export wallet
Увези кључ
Cardchaind keys import wallet wallet.backup
Уреди валидатор
Cardchaind tx staking edit-validator --new-moniker "Your_Moniker" --identity "Keybase_ID" --details "Your_Description" --website "Your_Website" --security-contact "Your_Email" --chain-id cardtestnet-11 --commission-rate 0.05 --from Wallet_Name --gas 350000 -y
Ваша Валопер адреса
Cardchaind keys show Wallet_Name --bech val
Ваша Валкон адреса
Cardchaind tendermint show-address
Информације о вашем валидатору
Cardchaind query staking validator ccvaloperaddress......
Информације о затвору
Cardchaind query slashing signing-info $(Cardchaind tendermint show-validator)
Извући из затвора
Cardchaind tx slashing unjail --from Wallet_name --chain-id cardtestnet-11 --gas 350000 -y
Листа активних валидатора
Cardchaind q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " t " + .description.moniker' | sort -gr | nl
Листа онемогућених валидатора
Cardchaind q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " t " + .description.moniker' | sort -gr | nl
Провера да ли се ваш кључ подудара са валидатором ( Win
- добро, Lose
- лоше)
VALOPER=Enter_Your_valoper_Here [[ $(Cardchaind q staking validator $VALOPER -oj | jq -r .consensus_pubkey.key) = $(Cardchaind status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "nYou winn" || echo -e "nYou losen"
Повуците све награде од свих валидатора
Cardchaind tx distribution withdraw-all-rewards --from Wallet_Name --chain-id cardtestnet-11 --gas 350000 -y
Повуците све накнаде са свог валидатора
Cardchaind tx distribution withdraw-rewards ccvaloper1a........ --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11--commission -y
Делегирајте токене свом валидатору
Cardchaind tx staking delegate ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Делегирајте токене другом валидатору
Cardchaind tx staking delegate ccvalpoer........ "100000000"ubpf de --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Пренос токена другом валидатору
Cardchaind tx staking redelegate ccvalpoer........ ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Одвојите токене од вашег валидатора или другог валидатора
Cardchaind tx staking unbond ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y Cardchaind tx staking unbond ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Пренос токена између новчаника
Cardchaind tx bank send ccaddress............ ccaddress........... "1000000000"ubpf --gas 350000 --chain-id=cardtestnet-11 -y
Погледајте све понуде
Cardchaind query gov proposals
Погледајте одређену понуду
Cardchaind query gov proposal 1
Гласајте „за“
Cardchaind tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Гласајте „против“
Cardchaind tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Уздржани
Cardchaind tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Гласајте „не“ (са правом вета)
Cardchaind tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Трансфер ИБЦ-а
Cardchaind tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"ubpf --from Your_Crowd_Wallet_Name ---gas 350000 --chain-id=cardtestnet-11 -y