Crowd Control, oyuncuların kendi kartlarını oluşturabildiği ve ekosistemin diğer üyeleriyle etkileşime girebildiği, koleksiyon kartlarına sahip bir blok zinciri oyunudur. Bu makale, Crowd Control test ağı için bir düğümün nasıl kurulacağı ve yapılandırılacağı hakkında ayrıntılı talimatlar sağlar.
Kurulum sürecini basitleştirmek için bir otomatik komut dosyası kullanılabilir:
wget -O crowd https://raw.githubusercontent.com/111STAVR111/props/main/Crowd/crowd && chmod +x crowd && ./crowd
Öncelikle sunucuda gerekli tüm paketleri güncellemeniz ve yüklemeniz gerekir:
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 yükleniyor
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 derlemesi.
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
Sürümü kontrol edin:
version: 0.16.0
commit: be4d9f600b2274bf9dce0ec944c3ba175fa7db8e
Adı ve ağ kimliğini belirterek düğümü başlatın:
Cardchaind init <your_node_name> --chain-id cardtestnet-12
Cardchaind config chain-id cardtestnet-12
Cüzdan oluşturma veya geri yükleme
Cardchaind keys add <walletname>
Cardchaind keys add <walletname> --recover
Ağ ile senkronize etmek için genesis dosyasını indirin:
wget -O $HOME/.cardchaind/config/genesis.json "https://cardchain.crowdcontrol.network/files/genesis.json"
sha256sum $HOME/.cardchaind/config/genesis.json
Hash'i kontrol edin:
1aedb68136b19f16edfe9c7e4e73a38f0fbc93cb13c555ca29b3493b40facc58
Minimum gaz maliyetini, eşleri ve diğer ayarları yapılandırın
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
Budama, veri depolamayı optimize etmek için yapılandırılabilir:
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
Dizinleyici (isteğe bağlı)
indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.cardchaind/config/config.toml
Addrbook'u indirin
wget -O $HOME/.cardchaind/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Crowd/addrbook.json"
Düğümü otomatik olarak başlatmak için bir hizmet dosyası oluşturun:
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 her 5 saatte bir güncellenir
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
Artık düğümü başlatabilir ve durumunu izleyebilirsiniz:
sudo systemctl daemon-reload
sudo systemctl enable Cardchaind
sudo systemctl restart Cardchaind && sudo journalctl -u Cardchaind -f -o cat
Düğüm senkronize edildiğinde, bir doğrulayıcı oluşturun:
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
Düğüm sil
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)
Düğüm durumunu kontrol edin:
Cardchaind status 2>&1 | jq .NodeInfo
Cardchaind status 2>&1 | jq .SyncInfo
Cardchaind status 2>&1 | jq .ValidatorInfo
Düğüm günlüklerini kontrol edin:
sudo journalctl -fu Cardchaind -o cat
Hizmet durumunu kontrol et:
sudo systemctl status Cardchaind
Hizmeti yeniden başlat:
sudo systemctl restart Cardchaind
Hizmeti durdur:
sudo systemctl stop Cardchaind
Hizmeti başlatın:
sudo systemctl start Cardchaind
Yeniden başlat/devre dışı bırak/etkinleştir
sudo systemctl daemon-reload
sudo systemctl disable Cardchaind
sudo systemctl enable Cardchaind
Akranınız
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/".*//')
Yeni anahtar veya anahtar kurtarma
Cardchaind keys add Wallet_Name
VEYA
Cardchaind keys add Wallet_Name --recover
Tüm anahtarları kontrol edin
Cardchaind keys list
Bakiyeyi kontrol edin
Cardchaind query bank balances cc...addressjkl1yjgn7z09ua9vms259j
Silme tuşu
Cardchaind keys delete Wallet_Name
Dışa aktarma anahtarı
Cardchaind keys export wallet
İçe aktarma anahtarı
Cardchaind keys import wallet wallet.backup
Doğrulayıcıyı Düzenle
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
Valoper adresiniz
Cardchaind keys show Wallet_Name --bech val
Valcon adresiniz
Cardchaind tendermint show-address
Doğrulayıcınız hakkında bilgi
Cardchaind query staking validator ccvaloperaddress......
Hapishane bilgileri
Cardchaind query slashing signing-info $(Cardchaind tendermint show-validator)
Unjail
Cardchaind tx slashing unjail --from Wallet_name --chain-id cardtestnet-11 --gas 350000 -y
Etkin doğrulayıcıların listesi
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
Devre dışı bırakılan doğrulayıcıların listesi
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
Anahtarınızın doğrulayıcı ile eşleşip eşleşmediğini kontrol edin(Win
- iyi, Lose
- kötü)
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"
Tüm doğrulayıcılardan gelen tüm ödüllerin çıktısı
Cardchaind tx distribution withdraw-all-rewards --from Wallet_Name --chain-id cardtestnet-11 --gas 350000 -y
Tüm komisyonları validatörünüzden geri çekin
Cardchaind tx distribution withdraw-rewards ccvaloper1a........ --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11--commission -y
Belirteçleri doğrulayıcınıza devredin
Cardchaind tx staking delegate ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Belirteçleri başka bir doğrulayıcıya delege etme
Cardchaind tx staking delegate ccvalpoer........ "100000000"ubpf de --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Jetonları başka bir doğrulayıcıya aktarma
Cardchaind tx staking redelegate ccvalpoer........ ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Belirteçleri doğrulayıcınızdan veya başka bir doğrulayıcıdan ayırın
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
Cüzdanlar arasında token transferi
Cardchaind tx bank send ccaddress............ ccaddress........... "1000000000"ubpf --gas 350000 --chain-id=cardtestnet-11 -y
Tüm teklifleri görüntüle
Cardchaind query gov proposals
Belirli bir teklifi görüntüleyin
Cardchaind query gov proposal 1
Lehte oy verin
Cardchaind tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Karşı oy
Cardchaind tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Çekimser
Cardchaind tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Karşı oy (veto ile)
Cardchaind tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
IBC transferi
Cardchaind tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"ubpf --from Your_Crowd_Wallet_Name ---gas 350000 --chain-id=cardtestnet-11 -y