Ödeme Yöntemleri Abuse

Kalabalık Kontrolü: Bir düğüm kurma ve düğümle çalışma

25.09.2024, 15:45

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.

Minimum sistem gereksinimleri

  • Düğüm tipi: Testnet.
  • İŞLEMCI: 4.
  • RAM: 8gb.
  • Depolama: 150gb.

Otomatik düğüm kurulumu

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

Manuel düğüm kurulumu

Sunucu hazırlığı

Ö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

Başlatma

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

Genesis'i İndirin

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 Yapılandırma (isteğe bağlı)

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"

Servis dosyası oluşturma

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

Düğümü başlatın

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

Doğrulayıcı oluşturma

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)

Yararlı komutlar

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

Anahtarlarla çalışma

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ı ile çalışma

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

Yönetim

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