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 versionCardchaind верзија 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 EOFStateSync 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