Crowd Control ist ein Blockchain-Spiel mit Sammelkarten, bei dem die Spieler ihre eigenen Karten erstellen und mit anderen Mitgliedern des Ökosystems interagieren können. Dieser Artikel enthält detaillierte Anweisungen zur Installation und Konfiguration eines Knotens für das Crowd Control-Testnetz.
Ein Autoskript kann verwendet werden, um den Installationsprozess zu vereinfachen:
wget -O crowd https://raw.githubusercontent.com/111STAVR111/props/main/Crowd/crowd && chmod +x crowd && ./crowd
Zuerst müssen Sie alle notwendigen Pakete auf dem Server aktualisieren und installieren:
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 von 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 bauen.
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 prüfen:
version: 0.16.0
commit: be4d9f600b2274bf9dce0ec944c3ba175fa7db8e
Initialisieren Sie den Knoten, indem Sie den Namen und die Netzwerk-ID angeben:
Cardchaind init <your_node_name> --chain-id cardtestnet-12
Cardchaind config chain-id cardtestnet-12
Erstellen oder Wiederherstellen einer Brieftasche
Cardchaind keys add <walletname>
Cardchaind keys add <walletname> --recover
Laden Sie die Genesis-Datei herunter, um sie mit dem Netzwerk zu synchronisieren:
wget -O $HOME/.cardchaind/config/genesis.json "https://cardchain.crowdcontrol.network/files/genesis.json"
sha256sum $HOME/.cardchaind/config/genesis.json
Prüfen Sie den Hash:
1aedb68136b19f16edfe9c7e4e73a38f0fbc93cb13c555ca29b3493b40facc58
Konfigurieren Sie die minimalen Gaskosten, Peers und andere Einstellungen
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 kann konfiguriert werden, um die Datenspeicherung zu optimieren:
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 (optional)
indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.cardchaind/config/config.toml
addrbook herunterladen
wget -O $HOME/.cardchaind/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Crowd/addrbook.json"
Erstellen Sie eine Servicedatei, um den Knoten automatisch zu starten:
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 wird alle 5 Stunden aktualisiert
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
Nun können Sie den Knoten starten und seinen Status überwachen:
sudo systemctl daemon-reload
sudo systemctl enable Cardchaind
sudo systemctl restart Cardchaind && sudo journalctl -u Cardchaind -f -o cat
Wenn der Knoten synchronisiert ist, erstellen Sie einen Prüfer:
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
Knoten löschen
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)
Knotenstatus prüfen:
Cardchaind status 2>&1 | jq .NodeInfo
Cardchaind status 2>&1 | jq .SyncInfo
Cardchaind status 2>&1 | jq .ValidatorInfo
Knotenprotokolle prüfen:
sudo journalctl -fu Cardchaind -o cat
Dienststatus prüfen:
sudo systemctl status Cardchaind
Dienst neu starten:
sudo systemctl restart Cardchaind
Dienst anhalten:
sudo systemctl stop Cardchaind
Dienst starten:
sudo systemctl start Cardchaind
Neu starten/deaktivieren/aktivieren/aktivieren
sudo systemctl daemon-reload
sudo systemctl disable Cardchaind
sudo systemctl enable Cardchaind
Ihr Peer
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/".*//')
Neuer Schlüssel oder Schlüsselwiederherstellung
Cardchaind keys add Wallet_Name
ODER
Cardchaind keys add Wallet_Name --recover
Alle Schlüssel prüfen
Cardchaind keys list
Saldo prüfen
Cardchaind query bank balances cc...addressjkl1yjgn7z09ua9vms259j
Schlüssel löschen
Cardchaind keys delete Wallet_Name
Schlüssel exportieren
Cardchaind keys export wallet
Schlüssel importieren
Cardchaind keys import wallet wallet.backup
Validator bearbeiten
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
Ihre Valoper-Adresse
Cardchaind keys show Wallet_Name --bech val
Ihre Valcon-Adresse
Cardchaind tendermint show-address
Informationen über Ihren Validator
Cardchaind query staking validator ccvaloperaddress......
Gefängnis-Informationen
Cardchaind query slashing signing-info $(Cardchaind tendermint show-validator)
Gefängnis aufheben
Cardchaind tx slashing unjail --from Wallet_name --chain-id cardtestnet-11 --gas 350000 -y
Liste der aktiven Prüfer
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 der deaktivierten Prüfer
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
Prüfen Sie, ob Ihr Schlüssel mit dem Validator übereinstimmt(Gewinnen
- gut, Verlieren
- schlecht)
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"
Alle Belohnungen von allen Prüfern ausgeben
Cardchaind tx distribution withdraw-all-rewards --from Wallet_Name --chain-id cardtestnet-11 --gas 350000 -y
Alle Provisionen von Ihrem Prüfer abziehen
Cardchaind tx distribution withdraw-rewards ccvaloper1a........ --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11--commission -y
Delegieren Sie Token an Ihren Prüfer
Cardchaind tx staking delegate ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Delegieren Sie Token an einen anderen Prüfer
Cardchaind tx staking delegate ccvalpoer........ "100000000"ubpf de --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Token an einen anderen Prüfer übertragen
Cardchaind tx staking redelegate ccvalpoer........ ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Entkoppeln Sie Token von Ihrem Validator oder einem anderen Validator
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
Übertragung von Token zwischen Wallets
Cardchaind tx bank send ccaddress............ ccaddress........... "1000000000"ubpf --gas 350000 --chain-id=cardtestnet-11 -y
Alle Angebote anzeigen
Cardchaind query gov proposals
Einen bestimmten Vorschlag anzeigen
Cardchaind query gov proposal 1
Für den Vorschlag stimmen
Cardchaind tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Dagegen stimmen
Cardchaind tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Enthaltung
Cardchaind tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Dagegen stimmen (mit Veto)
Cardchaind tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
IBC-Übertragung
Cardchaind tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"ubpf --from Your_Crowd_Wallet_Name ---gas 350000 --chain-id=cardtestnet-11 -y