sudo apt update && sudo apt upgrade -y
sudo apt-get install git curl build-essential make jq gcc snapd chrony lz4 tmux unzip bc -yÖNEMLİ: Önce mevcut Go versiyonunuzu kontrol edin:
go versionEğer sisteminizde Go 1.21 veya daha üst versiyonu varsa, Go kurulumunu atlayabilirsiniz. Doğrudan Node Kurulumu bölümüne geçin.
Devam etmeden önce:
$HOME/godizininde başka projelere ait dosyalar varsa YEDEK ALIN- Diğer projelerin binary dosyalarını başka bir yere kopyalayın
- Emin olmadığınız dosyaları silmeyin
# Yedekleme örneği (ihtiyacınıza göre düzenleyin)
mkdir -p $HOME/go_backup
cp -r $HOME/go/bin $HOME/go_backup/
# Eski Go'yu temizleme
rm -rf $HOME/go
sudo rm -rf /usr/local/go
# Yeni Go'yu kurma
cd $HOME
curl https://dl.google.com/go/go1.24.5.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
# Ortam değişkenlerini ayarlama (.profile dosyasında zaten varsa tekrar eklemeyin)
cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
go versionBirden fazla Go versiyonu kullanmanız gerekiyorsa GVM önerilir:
# GVM kurulumu
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source ~/.gvm/scripts/gvm
# Go 1.24.5 kurulumu
gvm install go1.24.5 -B
gvm use go1.24.5 --defaultNot: Eğer diğer Cosmos SDK tabanlı projeler için binary dosyalarınız $HOME/go/bin dizinindeyse, bu adımlar onları etkilemez. Ancak yine de önemli binary dosyalarınızı yedeklemeniz önerilir.
cd $HOME
rm -rf bitbadgeschain
git clone https://github.com/BitBadges/bitbadgeschain.git
cd bitbadgeschain
git checkout v16
make build-linux/amd64
# Binary dosyasını kopyalama
mv build/bitbadgeschain-linux-amd64 $HOME/go/bin/bitbadgeschaind
chmod +x $HOME/go/bin/bitbadgeschaind
bitbadgeschaind versiongo install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
# Cosmovisor dizinlerini oluştur
mkdir -p $HOME/.bitbadgeschain/cosmovisor/genesis/bin
mkdir -p $HOME/.bitbadgeschain/cosmovisor/upgrades
# Binary dosyasını kopyala
cp $HOME/go/bin/bitbadgeschaind $HOME/.bitbadgeschain/cosmovisor/genesis/bin/Moniker adınızı belirleyin (NodeName yerine kendi validator adınızı yazın):
bitbadgeschaind init NodeName --chain-id=bitbadges-1curl -Ls https://ss.bitbadges.nodestake.org/genesis.json > $HOME/.bitbadgeschain/config/genesis.json
curl -Ls https://ss.bitbadges.nodestake.org/addrbook.json > $HOME/.bitbadgeschain/config/addrbook.jsonVarsayılan portlar yerine özel portlar kullanmak için aşağıdaki komutları çalıştırın. Bu örnekte 26 yerine 56 kullanılmıştır, siz kendi port numaranızı seçebilirsiniz:
# Port değişkeni tanımla (26 yerine istediğiniz iki haneli sayıyı yazın)
PORT=56
# app.toml dosyasında port ayarları
sed -i.bak -e "s%:1317%:${PORT}317%g;
s%:8080%:${PORT}080%g;
s%:9090%:${PORT}090%g;
s%:9091%:${PORT}091%g;
s%:8545%:${PORT}545%g;
s%:8546%:${PORT}546%g;
s%:6065%:${PORT}065%g" $HOME/.bitbadgeschain/config/app.toml
# config.toml dosyasında port ayarları
sed -i.bak -e "s%:26658%:${PORT}658%g;
s%:26657%:${PORT}657%g;
s%:6060%:${PORT}060%g;
s%:26656%:${PORT}656%g;
s%:26660%:${PORT}660%g" $HOME/.bitbadgeschain/config/config.tomlsed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.bitbadgeschain/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.bitbadgeschain/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"50\"/" $HOME/.bitbadgeschain/config/app.tomlsed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.025ubadge"|g' $HOME/.bitbadgeschain/config/app.tomlsed -i -e "s/prometheus = false/prometheus = true/" $HOME/.bitbadgeschain/config/config.tomlsed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.bitbadgeschain/config/config.tomlsudo tee /etc/systemd/system/bitbadgeschaind.service > /dev/null <<EOF
[Unit]
Description=BitBadges Node with Cosmovisor
After=network-online.target
[Service]
User=$USER
ExecStart=$(which cosmovisor) run start
Restart=always
RestartSec=3
LimitNOFILE=65535
Environment="DAEMON_NAME=bitbadgeschaind"
Environment="DAEMON_HOME=$HOME/.bitbadgeschain"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="UNSAFE_SKIP_BACKUP=true"
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable bitbadgeschaindbitbadgeschaind tendermint unsafe-reset-all --home $HOME/.bitbadgeschain --keep-addr-book
SNAP_NAME=$(curl -s https://ss.bitbadges.nodestake.org/ | egrep -o ">20.*\.tar.lz4" | tr -d ">")
curl -o - -L https://ss.bitbadges.nodestake.org/${SNAP_NAME} | lz4 -c -d - | tar -x -C $HOME/.bitbadgeschainsudo systemctl restart bitbadgeschaindjournalctl -u bitbadgeschaind -fbitbadgeschaind status 2>&1 | jq .SyncInfo.catching_upfalse sonucu alırsanız node senkronize olmuştur.
bitbadgeschaind keys add cüzdan-adıbitbadgeschaind keys add cüzdan-adı --recoverbitbadgeschaind keys listbitbadgeschaind query bank balances $(bitbadgeschaind keys show cüzdan-adı -a)bitbadgeschaind keys show cüzdan-adı -aNode'unuzun tamamen senkronize olduğundan emin olun ve cüzdanınızda yeterli token olduğunu kontrol edin.
bitbadgeschaind tendermint show-validatorBu komut size pubkey verecektir. Örnek: {"@type":"/cosmos.crypto.ed25519.PubKey","key":"oWg2ISpLF405Jcm2vXV+2v4fnjodh6aafuIdeoW+rUw="}
Aşağıdaki komutu çalıştırarak validator.json dosyası oluşturun. PUBKEY kısmına yukarıdaki komuttan aldığınız çıktıyı yapıştırın:
cat << EOF > $HOME/validator.json
{
"pubkey": PUBKEY_BURAYA,
"amount": "1000000ubadge",
"moniker": "VALIDATOR-ADINIZ",
"identity": "KEYBASE-ID",
"website": "https://websiteadresiniz.com",
"security": "email@adresiniz.com",
"details": "Validator açıklamanız",
"commission-rate": "0.05",
"commission-max-rate": "0.20",
"commission-max-change-rate": "0.05",
"min-self-delegation": "1"
}
EOFÖrnek validator.json:
{
"pubkey": {"@type":"/cosmos.crypto.ed25519.PubKey","key":"oWg2ISpLF405Jcm2vXV+2v4fnjodh6aafuIdeoW+rUw="},
"amount": "1000000ubadge",
"moniker": "OshVanK",
"identity": "17E09C4xxxxxxx2",
"website": "https://oshvank.xyz",
"security": "xxxxx@xxxx.com",
"details": "Professional validator service",
"commission-rate": "0.05",
"commission-max-rate": "0.20",
"commission-max-change-rate": "0.05",
"min-self-delegation": "1"
}Standart Port (26657) Kullanıyorsanız:
bitbadgeschaind tx staking create-validator $HOME/validator.json \
--from cüzdan-adı \
--chain-id bitbadges-1 \
--gas auto \
--gas-adjustment 1.5 \
--fees 5000ubadge \
-yÖzel Port (örneğin 56657) Kullanıyorsanız:
bitbadgeschaind tx staking create-validator $HOME/validator.json \
--from cüzdan-adı \
--chain-id bitbadges-1 \
--gas auto \
--gas-adjustment 1.5 \
--fees 5000ubadge \
--node http://localhost:56657 \
-yNot:
moniker: Validator adınız (emoji de kullanabilirsiniz)website: Web siteniz (opsiyonel)identity: Keybase ID'niz (opsiyonel, keybase.io'dan alabilirsiniz)details: Validator hakkında açıklamasecurity: İletişim e-posta adresinizamount: Stake edeceğiniz miktar (1000000ubadge = 1 BADGE)commission-rate: Komisyon oranınız (0.05 = %5)--from: Cüzdan adınızı yazın
bitbadgeschaind tx staking edit-validator \
--new-moniker "YENİ-VALIDATOR-ADI" \
--website "https://yeniwebsite.com" \
--identity "YENİ-KEYBASE-ID" \
--details "Yeni açıklama" \
--chain-id bitbadges-1 \
--from cüzdan-adı \
--gas auto \
--gas-adjustment 1.5 \
--fees 5000ubadge \
-ybitbadgeschaind query staking validator $(bitbadgeschaind keys show cüzdan-adı --bech val -a)bitbadgeschaind tx slashing unjail \
--chain-id bitbadges-1 \
--from cüzdan-adı \
--gas auto \
--gas-adjustment 1.5 \
--fees 5000ubadge \
-ybitbadgeschaind tx bank send cüzdan-adı ALICI-ADRES 1000000ubadge \
--chain-id bitbadges-1 \
--from cüzdan-adı \
--gas auto \
--gas-adjustment 1.5 \
--fees 5000ubadge \
-ybitbadgeschaind tx staking delegate $(bitbadgeschaind keys show cüzdan-adı --bech val -a) 1000000ubadge \
--chain-id bitbadges-1 \
--from cüzdan-adı \
--gas auto \
--gas-adjustment 1.5 \
--fees 5000ubadge \
-ybitbadgeschaind tx staking redelegate $(bitbadgeschaind keys show cüzdan-adı --bech val -a) HEDEF-VALIDATOR-ADRES 1000000ubadge \
--chain-id bitbadges-1 \
--from cüzdan-adı \
--gas auto \
--gas-adjustment 1.5 \
--fees 5000ubadge \
-ybitbadgeschaind tx staking unbond $(bitbadgeschaind keys show cüzdan-adı --bech val -a) 1000000ubadge \
--chain-id bitbadges-1 \
--from cüzdan-adı \
--gas auto \
--gas-adjustment 1.5 \
--fees 5000ubadge \
-ybitbadgeschaind tx distribution withdraw-rewards $(bitbadgeschaind keys show cüzdan-adı --bech val -a) \
--commission \
--chain-id bitbadges-1 \
--from cüzdan-adı \
--gas auto \
--gas-adjustment 1.5 \
--fees 5000ubadge \
-ybitbadgeschaind tx distribution withdraw-all-rewards \
--chain-id bitbadges-1 \
--from cüzdan-adı \
--gas auto \
--gas-adjustment 1.5 \
--fees 5000ubadge \
-ybitbadgeschaind query gov proposalsbitbadgeschaind query gov proposal PROPOSAL-NUMARASISeçenekler: yes, no, no_with_veto, abstain
bitbadgeschaind tx gov vote PROPOSAL-NUMARASI yes \
--chain-id bitbadges-1 \
--from cüzdan-adı \
--gas auto \
--gas-adjustment 1.5 \
--fees 5000ubadge \
-ysudo systemctl stop bitbadgeschaindsudo systemctl start bitbadgeschaindsudo systemctl restart bitbadgeschaindjournalctl -u bitbadgeschaind -fsudo systemctl stop bitbadgeschaind
sudo systemctl disable bitbadgeschaind
sudo rm /etc/systemd/system/bitbadgeschaind.service
sudo systemctl daemon-reload
rm -rf $HOME/.bitbadgeschain
rm -rf $HOME/bitbadgeschain- Discord: BitBadges Discord
- Website: BitBadges.io
- Explorer: BitBadges Explorer
- GitHub: BitBadges GitHub
Not: Komutlardaki cüzdan-adı kısmını kendi cüzdan adınızla değiştirmeyi unutmayın.