Betalingsmetoder Abuse

Crowd Control: Installation og arbejde med en node

25.09.2024, 15:45

Crowd Control er et blockchain-spil med samlekort, hvor spillerne kan skabe deres egne kort og interagere med andre medlemmer af økosystemet. Denne artikel indeholder detaljerede instruktioner om, hvordan man installerer og konfigurerer en node til Crowd Control-testnettet.

Minimumskrav til systemet

  • Knudepunktstype: Testnet.
  • CPU: 4.
  • RAM: 8 gb.
  • Lagerplads: 150 gb.

Automatisk installation af noder

Et autoscript kan bruges til at forenkle installationsprocessen:

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

Manuel node-installation

Forberedelse af serveren

Først skal du opdatere og installere alle de nødvendige pakker på serveren:

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 af 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

Tjek version:

version: 0.16.0
commit: be4d9f600b2274bf9dce0ec944c3ba175fa7db8e

Initialisering

Initialiser noden ved at angive navn og netværks-ID:

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

Oprettelse eller gendannelse af en wallet

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

Download genesis

Download genesis-filen for at synkronisere med netværket:

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

Tjek hashværdien:

1aedb68136b19f16edfe9c7e4e73a38f0fbc93cb13c555ca29b3493b40facc58

Konfigurer minimum gasomkostninger, peers og andre indstillinger

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

Konfiguration af beskæring (valgfrit)

Beskæring kan konfigureres til at optimere datalagring:

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

Indekser (valgfrit)

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

Download addrbook

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

Oprettelse af en servicefil

Opret en servicefil til automatisk start af noden:

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 opdateres hver 5. time

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 noden

Nu kan du starte noden og overvåge dens status:

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

Oprettelse af en validator

Når noden er synkroniseret, skal du oprette en validator:

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

Slet node

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)

Nyttige kommandoer

Tjek nodens status:

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

Tjekke node-logfiler:

sudo journalctl -fu Cardchaind -o cat

Tjek servicestatus:

sudo systemctl status Cardchaind 

Genstart tjeneste:

sudo systemctl restart Cardchaind 

Stop tjeneste:

sudo systemctl stop Cardchaind 

Start tjeneste:

sudo systemctl start Cardchaind 

Genstart/deaktiver/aktiver/aktiver

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

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

Arbejde med nøgler

Ny nøgle eller gendannelse af nøgle

Cardchaind keys add Wallet_Name

ELLER

Cardchaind keys add Wallet_Name --recover

Tjek alle nøgler

Cardchaind keys list

Kontrollér balance

Cardchaind query bank balances cc...addressjkl1yjgn7z09ua9vms259j

Slet nøgle

Cardchaind keys delete Wallet_Name

Eksporter nøgle

Cardchaind keys export wallet

Importer nøgle

Cardchaind keys import wallet wallet.backup

Arbejd med validator

Rediger validator

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

Din Valoper-adresse

Cardchaind keys show Wallet_Name --bech val

Din Valcon-adresse

Cardchaind tendermint show-address

Oplysninger om din validator

Cardchaind query staking validator ccvaloperaddress......

Oplysninger om fængsel

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

Fængsel

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

Liste over aktive validatorer

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 over deaktiverede validatorer

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

Kontroller, at din nøgle matcher validatoren(Win - god, Lose - dårlig)

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"

Udlæs alle belønninger fra alle validatorer

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

Træk alle provisioner tilbage fra din validator

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

Delegér tokens til din validator

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

Delegér tokens til en anden validator

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

Overfør tokens til en anden validator

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

Afkoble tokens fra din validator eller en anden 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

Overfør tokens mellem wallets

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

Ledelse

Se alle tilbud

Cardchaind query gov proposals

Se et specifikt forslag

Cardchaind query gov proposal 1

Stem for forslaget

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

Stem imod

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

Undlad at stemme

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

Stem imod (med veto)

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

IBC-overførsel

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