Betaalmethoden Abuse

Crowd Control: Een knooppunt installeren en ermee werken

25.09.2024, 15:45

Crowd Control is een blockchainspel met verzamelbare kaarten waarbij spelers hun eigen kaarten kunnen maken en interactie kunnen hebben met andere leden van het ecosysteem. Dit artikel geeft gedetailleerde instructies voor het installeren en configureren van een node voor het Crowd Control testnet.

Minimale systeemvereisten

  • Type node: Testnet.
  • CPU: 4.
  • RAM: 8gb.
  • Opslag: 150gb.

Automatische node-installatie

Een autoscript kan worden gebruikt om het installatieproces te vereenvoudigen:

wget -O crowd https://raw.githubusercontent.com/111STAVR111/props/main/Crowd/crowd && chmod +x crowd && ./crowd

Handmatige node-installatie

Server voorbereiding

Eerst moet je alle benodigde pakketten bijwerken en installeren op de server:

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 installeren

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

Versie controleren:

version: 0.16.0
commit: be4d9f600b2274bf9dce0ec944c3ba175fa7db8e

Initialisatie

Initialiseer het knooppunt door de naam en netwerk-ID op te geven:

Cardchaind init <your_node_name> --chain-id cardtestnet-12
Cardchaind config chain-id cardtestnet-12

Een portemonnee aanmaken of herstellen

Cardchaind keys add <walletname>
Cardchaind keys add <walletname> --recover

Genesis downloaden

Download het Genesis-bestand om te synchroniseren met het netwerk:

wget -O $HOME/.cardchaind/config/genesis.json "https://cardchain.crowdcontrol.network/files/genesis.json"
sha256sum $HOME/.cardchaind/config/genesis.json

Controleer de hash:

1aedb68136b19f16edfe9c7e4e73a38f0fbc93cb13c555ca29b3493b40facc58

Minimale gaskosten, peers en andere instellingen configureren

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

Snoeien configureren (optioneel)

Snoeien kan worden geconfigureerd om de gegevensopslag te optimaliseren:

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 (optioneel)

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

Addrbook downloaden

wget -O $HOME/.cardchaind/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Crowd/addrbook.json"

Een servicebestand maken

Maak een servicebestand aan om het knooppunt automatisch te 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 wordt elke 5 uur bijgewerkt

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

Start het knooppunt

Nu kun je het knooppunt starten en de status controleren:

sudo systemctl daemon-reload
sudo systemctl enable Cardchaind 
sudo systemctl restart Cardchaind && sudo journalctl -u Cardchaind -f -o cat

Een validator aanmaken

Maak een validator aan wanneer het knooppunt is gesynchroniseerd:

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

Knooppunt verwijderen

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)

Handige commando's

Status van het knooppunt controleren:

Cardchaind status 2>&1 | jq .NodeInfo
Cardchaind status 2>&1 | jq .SyncInfo
Cardchaind status 2>&1 | jq .ValidatorInfo

Controleer knooppuntlogboeken:

sudo journalctl -fu Cardchaind -o cat

Status service controleren:

sudo systemctl status Cardchaind 

Service herstarten:

sudo systemctl restart Cardchaind 

Service stoppen:

sudo systemctl stop Cardchaind 

Service starten:

sudo systemctl start Cardchaind 

Opnieuw opstarten/uitschakelen/inschakelen

sudo systemctl daemon-reload
sudo systemctl disable Cardchaind 
sudo systemctl enable Cardchaind 

Uw 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/".*//')

Werken met sleutels

Nieuwe sleutel of sleutelherstel

Cardchaind keys add Wallet_Name

OF

Cardchaind keys add Wallet_Name --recover

Alle sleutels controleren

Cardchaind keys list

Saldo controleren

Cardchaind query bank balances cc...addressjkl1yjgn7z09ua9vms259j

Sleutel verwijderen

Cardchaind keys delete Wallet_Name

Sleutel exporteren

Cardchaind keys export wallet

Sleutel importeren

Cardchaind keys import wallet wallet.backup

Werken met validator

Validator bewerken

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

Uw Valoper adres

Cardchaind keys show Wallet_Name --bech val

Uw Valcon adres

Cardchaind tendermint show-address

Informatie over je validator

Cardchaind query staking validator ccvaloperaddress......

Informatie over de gevangenis

Cardchaind query slashing signing-info $(Cardchaind tendermint show-validator)

Vrijspraak

Cardchaind tx slashing unjail --from Wallet_name --chain-id cardtestnet-11 --gas 350000 -y

Lijst van actieve validators

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

Lijst met uitgeschakelde validators

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

Controleer of je sleutel overeenkomt met de validator(Win - goed, Lose - slecht)

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 commissies van alle validators ophalen

Cardchaind tx distribution withdraw-all-rewards --from Wallet_Name --chain-id cardtestnet-11 --gas 350000 -y

Haal alle commissies uit je validator

Cardchaind tx distribution withdraw-rewards ccvaloper1a........ --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11--commission -y

Delegeer tokens naar jouw validator

Cardchaind tx staking delegate ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y

Draag tokens over aan een andere validator

Cardchaind tx staking delegate ccvalpoer........ "100000000"ubpf de --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y

Draag tokens over aan een andere validator

Cardchaind tx staking redelegate ccvalpoer........ ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000  --chain-id=cardtestnet-11 -y

Ontkoppel tokens van uw validator of een andere 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

Munt overdragen tussen wallets

Cardchaind tx bank send ccaddress............ ccaddress........... "1000000000"ubpf --gas 350000 --chain-id=cardtestnet-11 -y

Beheer

Alle aanbiedingen bekijken

Cardchaind query gov proposals

Een specifiek voorstel bekijken

Cardchaind query gov proposal 1

Stem voor

Cardchaind tx gov vote 1 yes --from Wallet_Name --gas 350000  --chain-id=cardtestnet-11 -y

Stem tegen

Cardchaind tx gov vote 1 no --from Wallet_Name --gas 350000  --chain-id=cardtestnet-11 -y

Onthouding

Cardchaind tx gov vote 1 abstain --from Wallet_Name --gas 350000  --chain-id=cardtestnet-11 -y

Stem tegen (met veto)

Cardchaind tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000  --chain-id=cardtestnet-11 -y

IBC overdracht

Cardchaind tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"ubpf --from Your_Crowd_Wallet_Name ---gas 350000 --chain-id=cardtestnet-11 -y