Metode de plată Abuse

Crowd Control: Instalarea și lucrul cu un nod

25.09.2024, 15:45

Crowd Control este un joc blockchain cu cărți colecționabile în care jucătorii își pot crea propriile cărți și pot interacționa cu alți membri ai ecosistemului. Acest articol oferă instrucțiuni detaliate cu privire la modul de instalare și configurare a unui nod pentru rețeaua de testare Crowd Control.

Cerințe minime de sistem

  • Tipul nodului: Testnet.
  • PROCESOR: 4.
  • RAM: 8gb.
  • Stocare: 150gb.

Instalarea automată a nodului

Un autoscript poate fi utilizat pentru a simplifica procesul de instalare:

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

Instalarea manuală a nodurilor

Pregătirea serverului

Mai întâi trebuie să actualizați și să instalați toate pachetele necesare pe 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

Instalarea 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

Verificați versiunea:

version: 0.16.0
commit: be4d9f600b2274bf9dce0ec944c3ba175fa7db8e

Inițializare

Inițializați nodul specificând numele și ID-ul rețelei:

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

Crearea sau restaurarea unui portofel

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

Descărcați Genesis

Descărcați fișierul genesis pentru sincronizarea cu rețeaua:

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

Verificați hash-ul:

1aedb68136b19f16edfe9c7e4e73a38f0fbc93cb13c555ca29b3493b40facc58

Configurați costul minim al gazului, colegii și alte setări

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

Configurarea Pruning (opțional)

Pruning-ul poate fi configurat pentru a optimiza stocarea datelor:

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 (opțional)

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

Descărcați addrbook

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

Crearea unui fișier de serviciu

Creați un fișier de serviciu pentru a porni automat nodul:

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 este actualizat la fiecare 5 ore

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

Porniți nodul

Acum puteți porni nodul și îi puteți monitoriza starea:

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

Crearea unui validator

Atunci când nodul este sincronizat, creați un 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

Ștergeți nodul

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)

Comenzi utile

Verificați starea nodului:

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

Verificați jurnalele nodului:

sudo journalctl -fu Cardchaind -o cat

Verificați starea serviciului:

sudo systemctl status Cardchaind 

Reporniți serviciul:

sudo systemctl restart Cardchaind 

Opriți serviciul:

sudo systemctl stop Cardchaind 

Porniți serviciul:

sudo systemctl start Cardchaind 

Restart/disable/enable/enable

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

Perechea dvs.

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

Lucrul cu cheile

Cheie nouă sau recuperare cheie

Cardchaind keys add Wallet_Name

SAU

Cardchaind keys add Wallet_Name --recover

Verificați toate cheile

Cardchaind keys list

Verificați soldul

Cardchaind query bank balances cc...addressjkl1yjgn7z09ua9vms259j

Ștergeți cheia

Cardchaind keys delete Wallet_Name

Cheie de export

Cardchaind keys export wallet

Cheie de import

Cardchaind keys import wallet wallet.backup

Lucrul cu validatorul

Editare 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

Adresa dvs. Valoper

Cardchaind keys show Wallet_Name --bech val

Adresa dumneavoastră Valcon

Cardchaind tendermint show-address

Informații despre validatorul dvs.

Cardchaind query staking validator ccvaloperaddress......

Informații despre închisoare

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

Unjail

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

Lista validatorilor activi

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

Lista validatoarelor dezactivate

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

Verificați dacă cheia dvs. corespunde validatorului(Win - bun, Lose - rău)

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"

Scoateți toate recompensele de la toți validatorii

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

Retrageți toate comisioanele de la validatorul dvs.

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

Delegați jetoane validatorului dvs.

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

Delegarea jetoanelor către un alt validator

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

Transferați jetoanele către un alt validator

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

Decuplați jetoanele de la validatorul dvs. sau de la un alt 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

Transferul jetoanelor între portofele

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

Management

Vizualizați toate ofertele

Cardchaind query gov proposals

Vizualizați o propunere specifică

Cardchaind query gov proposal 1

Votați în favoarea

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

Vot împotrivă

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

Abținere

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

Vot împotrivă (cu veto)

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

Transferul IBC

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