Crowd Control est un jeu blockchain avec des cartes à collectionner où les joueurs peuvent créer leurs propres cartes et interagir avec d'autres membres de l'écosystème. Cet article fournit des instructions détaillées sur l'installation et la configuration d'un nœud pour le réseau de test Crowd Control.
Un autoscript peut être utilisé pour simplifier le processus d'installation :
wget -O crowd https://raw.githubusercontent.com/111STAVR111/props/main/Crowd/crowd && chmod +x crowd && ./crowd
Il faut d'abord mettre à jour et installer tous les paquets nécessaires sur le serveur :
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
Installation de 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 build.
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
Vérifier la version :
version: 0.16.0
commit: be4d9f600b2274bf9dce0ec944c3ba175fa7db8e
Initialiser le noeud en spécifiant le nom et l'ID du réseau :
Cardchaind init <your_node_name> --chain-id cardtestnet-12
Cardchaind config chain-id cardtestnet-12
Créer ou restaurer un portefeuille
Cardchaind keys add <walletname>
Cardchaind keys add <walletname> --recover
Télécharger le fichier genesis pour le synchroniser avec le réseau :
wget -O $HOME/.cardchaind/config/genesis.json "https://cardchain.crowdcontrol.network/files/genesis.json"
sha256sum $HOME/.cardchaind/config/genesis.json
Vérifier le hachage :
1aedb68136b19f16edfe9c7e4e73a38f0fbc93cb13c555ca29b3493b40facc58
Configurer le coût minimum du gaz, les pairs et d'autres paramètres
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
L'élagage peut être configuré pour optimiser le stockage des données :
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
Indexeur (optionnel)
indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.cardchaind/config/config.toml
Télécharger addrbook
wget -O $HOME/.cardchaind/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Crowd/addrbook.json"
Créer un fichier de service pour démarrer automatiquement le nœud :
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
SnapShot Testnet est mis à jour toutes les 5 heures
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
Vous pouvez maintenant démarrer le nœud et surveiller son état :
sudo systemctl daemon-reload
sudo systemctl enable Cardchaind
sudo systemctl restart Cardchaind && sudo journalctl -u Cardchaind -f -o cat
Lorsque le nœud est synchronisé, créez un validateur :
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
Supprimer le nœud
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)
Vérifier l'état du nœud :
Cardchaind status 2>&1 | jq .NodeInfo
Cardchaind status 2>&1 | jq .SyncInfo
Cardchaind status 2>&1 | jq .ValidatorInfo
Vérifier les journaux du nœud :
sudo journalctl -fu Cardchaind -o cat
Vérifier l'état du service : Vérifier les journaux du nœud : Vérifier l'état du service :
sudo systemctl status Cardchaind
Redémarrer le service :
sudo systemctl restart Cardchaind
Arrêter le service :
sudo systemctl stop Cardchaind
Démarrer le service :
sudo systemctl start Cardchaind
Redémarrer/désactiver/activer/activer
sudo systemctl daemon-reload
sudo systemctl disable Cardchaind
sudo systemctl enable Cardchaind
Votre pair
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/".*//')
Nouvelle clé ou récupération de clé
Cardchaind keys add Wallet_Name
OU
Cardchaind keys add Wallet_Name --recover
Vérifier toutes les clés
Cardchaind keys list
Vérifier le solde
Cardchaind query bank balances cc...addressjkl1yjgn7z09ua9vms259j
Supprimer une clé
Cardchaind keys delete Wallet_Name
Clé d'exportation
Cardchaind keys export wallet
Clé d'importation
Cardchaind keys import wallet wallet.backup
Modifier le validateur
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
Votre adresse Valoper
Cardchaind keys show Wallet_Name --bech val
Votre adresse Valcon
Cardchaind tendermint show-address
Informations sur votre validateur
Cardchaind query staking validator ccvaloperaddress......
Informations sur la prison
Cardchaind query slashing signing-info $(Cardchaind tendermint show-validator)
Unjail
Cardchaind tx slashing unjail --from Wallet_name --chain-id cardtestnet-11 --gas 350000 -y
Liste des validateurs actifs
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
Liste des validateurs désactivés
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
Vérifiez que votre clé correspond au validateur(Gagnant
- bon, Perdant
- mauvais)
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"
Retirer toutes les récompenses de tous les validateurs
Cardchaind tx distribution withdraw-all-rewards --from Wallet_Name --chain-id cardtestnet-11 --gas 350000 -y
Retirer toutes les commissions de votre validateur
Cardchaind tx distribution withdraw-rewards ccvaloper1a........ --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11--commission -y
Déléguer des jetons à votre validateur
Cardchaind tx staking delegate ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Déléguer des jetons à un autre validateur
Cardchaind tx staking delegate ccvalpoer........ "100000000"ubpf de --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Transférer des jetons vers un autre validateur
Cardchaind tx staking redelegate ccvalpoer........ ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Découpler les jetons de votre validateur ou d'un autre validateur
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
Transférer des tokens, entre portefeuilles
Cardchaind tx bank send ccaddress............ ccaddress........... "1000000000"ubpf --gas 350000 --chain-id=cardtestnet-11 -y
Voir toutes les offres
Cardchaind query gov proposals
Voir une proposition spécifique
Cardchaind query gov proposal 1
Voter pour
Cardchaind tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Voter contre
Cardchaind tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
S'abstenir
Cardchaind tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Voter contre (avec veto)
Cardchaind tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Transfert du CIB
Cardchaind tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"ubpf --from Your_Crowd_Wallet_Name ---gas 350000 --chain-id=cardtestnet-11 -y