✔️ Website
✔️ Blockchain Explorer
✔️ Doküman
✔️ GitHub
✔️ Discord
✔️ Zealy Görevleri
Bileşenler | Minimum Gereksinimler | Tavsiye Edilen Gereksinimler |
---|---|---|
CPU | 4 | 4 |
RAM | 8 GB | 16 GB |
Storage | 250 GB SSD | 500 GB SSD |
apt update && apt upgrade -y
apt install make clang pkg-config libssl-dev libclang-dev build-essential git curl ntp jq llvm tmux htop screen gcc lz4 -y < "/dev/null"
ver="1.20"
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
rm -rf /usr/local/go
tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm -rf "go$ver.linux-amd64.tar.gz"
echo 'export GOROOT=/usr/local/go' >> $HOME/.bash_profile
echo 'export GOPATH=$HOME/go' >> $HOME/.bash_profile
echo 'export GO111MODULE=on' >> $HOME/.bash_profile
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile
source $HOME/.bash_profile
go version
aşağıda değiştirmeniz gereken yerleri yazıyorum.
$BBN_NODENAME
validator adınız$BBN_WALLET
cüzdan adınız- Eğer portu başka bir node kullanıyorsa aşağıdan değiştirebilirsiniz.
echo "export BBN_NODENAME=$BBN_NODENAME" >> $HOME/.bash_profile
echo "export BBN_WALLET=$BBN_WALLET" >> $HOME/.bash_profile
echo "export BBN_PORT=11" >> $HOME/.bash_profile
echo "export BBN_CHAIN_ID=bbn-test-2" >> $HOME/.bash_profile
source $HOME/.bash_profile
Node ve Cüzdan adımızın Mehmet
olduğunu varsayalım. Kod aşağıdaki şekilde düzenlenecektir.
echo "export BBN_NODENAME=Mehmet" >> $HOME/.bash_profile
echo "export BBN_WALLET=Mehmet" >> $HOME/.bash_profile
echo "export BBN_PORT=11" >> $HOME/.bash_profile
echo "export BBN_CHAIN_ID=bbn-test-2" >> $HOME/.bash_profile
source $HOME/.bash_profile
git clone https://github.com/babylonchain/babylon
cd babylon || return
git checkout v0.7.2
make install
babylond version
Versiyon çıktısı v0.7.2
olacak.
Aşağıdaki kodlarda herhangi bir değişilik yapmadan kopyalayıp yapıştırıyoruz.
babylond config keyring-backend test
babylond config chain-id $BBN_CHAIN_ID
babylond init --chain-id $BBN_CHAIN_ID $BBN_NODENAME
# Genesis ve Addrbook Dosyasının Kopyalanması
curl -L https://github.com/babylonchain/networks/raw/main/bbn-test-2/genesis.tar.bz2 > genesis.tar.bz2
tar -xjf genesis.tar.bz2
rm genesis.tar.bz2
mv genesis.json ~/.babylond/config/genesis.json
curl -s https://raw.githubusercontent.com/koltigin/Babylon-Kurulum-Rehberi/main/addrbook.json > $HOME/.babylond/config/addrbook.json
# Minimum GAS Ücretinin Ayarlanması
sed -i 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.00001ubbn"|g' $HOME/.babylond/config/app.toml
# Indexer'i Kapatma (Opsiyonel)
indexer="null"
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.babylond/config/config.toml
# SEED ve PEERS Ayarlanması
SEEDS="8da45f9ff83b4f8dd45bbcb4f850999637fbfe3b@seed0.testnet.babylonchain.io:26656,4b1f8a774220ba1073a4e9f4881de218b8a49c99@seed1.testnet.babylonchain.io:26656"
PEERS=""
sed -i 's|^seeds *=.*|seeds = "'$SEEDS'"|; s|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.babylond/config/config.toml
# Prometheus'u Aktif Etme
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.babylond/config/config.toml
# Pruning'i Ayarlama
pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="50"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.babylond/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.babylond/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.babylond/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.babylond/config/app.toml
# app.toml ve config.toml Düzenleme
sed -i -e "s|^key-name *=.*|key-name = \"$BBN_WALLET\"|" $HOME/.babylond/config/app.toml
sed -i -e "s|^timeout_commit *=.*|timeout_commit = \"10s\"|" $HOME/.babylond/config/config.toml
# Portları Ayarlama
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${BBN_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${BBN_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${BBN_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${BBN_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${BBN_PORT}660\"%; s%^timeout_commit = \"5s\"%timeout_commit = \"10s\"%" $HOME/.babylond/config/config.toml
sed -i.bak -e "s%^address = \"tcp://localhost:1317\"%address = \"tcp://localhost:${BBN_PORT}317\"%; s%^address = \":8080\"%address = \":${BBN_PORT}080\"%; s%^address = \"localhost:9090\"%address = \"localhost:${BBN_PORT}090\"%; s%^address = \"localhost:9091\"%address = \"localhost:${BBN_PORT}091\"%" $HOME/.babylond/config/app.toml
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:${BBN_PORT}657\"%" $HOME/.babylond/config/client.toml
# Servis Dosyası Oluşturma
sudo tee /etc/systemd/system/babylond.service > /dev/null << EOF
[Unit]
Description=Babylon Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which babylond) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
Snapshot Yükleme (NodeJumper)
SNAP_NAME=$(curl -s https://snapshots1-testnet.nodejumper.io/babylon-testnet/info.json | jq -r .fileName)
curl "https://snapshots1-testnet.nodejumper.io/babylon-testnet/${SNAP_NAME}" | lz4 -dc - | tar -xf - -C "$HOME/.babylond"
sudo systemctl daemon-reload
sudo systemctl enable babylond
sudo systemctl start babylond
journalctl -u babylond -f -o cat
$BBN_WALLET
bölümünü değiştirmiyoruz kurulumun başında cüzdanımıza değişkenler ile isim belirledik.
babylond keys add $BBN_WALLET
babylond keys add $BBN_WALLET --recover
Burada cüzdan ve valoper bilgilerimizi değişkene ekliyoruz.
BBN_WALLET_ADDRESS=$(babylond keys show $BBN_WALLET -a)
BBN_VALOPER_ADDRESS=$(babylond keys show $BBN_WALLET --bech val -a)
echo 'export BBN_WALLET_ADDRESS='${BBN_WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export BBN_VALOPER_ADDRESS='${BBN_VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile
Babylon Discord adresine giderek #【🌍】faucet
kanalından !faucet bbn-cuzdan-adresi
şeklinde mesaj atarak token istiyoruz.
babylond query bank balances $BBN_WALLET_ADDRESS
🔴 BU AŞAMADAN SONRA NODE'UMUZUN EŞLEŞMESİNİ BEKLİYORUZ.
false
çıktısı almadıkça bir sonraki yani validator oluşturma adımına geçmiyoruz.
babylond status 2>&1 | jq .SyncInfo
🔴 Eşleşme tamamlandıysa aşağıdaki adıma geçiyoruz.
babylond create-bls-key $(babylond keys show $BBN_WALLET -a)
sudo systemctl restart babylond
Aşağıdaki komutta aşağıda berlirttiğim yerler dışında bir değişiklik yapmanız gerekmez;
identity
buradaXXXX1111XXXX1111
yazan yere keybase sitesine üye olarak size verilen kimlik numaranızı yazıyorsunuz.details
Always forward with the Anatolian Team 🚀
yazan yere kendiniz hakkında bilgiler yazabilirsiniz.website
https://anatolianteam.com
yazan yere varsa bir siteniz ya da twitter vb. adresinizi yazabilirsiniz.security-contact
E-posta adresiniz.
babylond tx checkpointing create-validator \
--amount=1000000ubbn \
--pubkey=$(babylond tendermint show-validator) \
--moniker=$BBN_NODENAME \
--chain-id=$BBN_CHAIN_ID \
--commission-rate=0.10 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.05 \
--min-self-delegation="1" \
--gas-prices=0.1ubbn \
--gas-adjustment=1.5 \
--gas=auto \
--from=$BBN_WALLET \
--details="Always forward with the Anatolian Team 🚀" \
--security-contact="xxxxxxx@gmail.com" \
--website="https://anatolianteam.com" \
--identity="XXXX1111XXXX1111" \
--yes
babylond query staking validator $BBN_VALOPER_ADDRESS
babylond query staking validators --limit 1000000 -o json | jq '.validators[] | select(.description.moniker=="'$BBN_NODENAME'")' | jq
babylond q staking params
babylond q slashing params
babylond q slashing signing-info $(babylond tendermint show-validator)
babylond q staking validators -o json --limit=1000 \
| jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' \
| jq -r '.tokens + " - " + .description.moniker' \
| sort -gr | nl
babylond q staking validators -o json --limit=1000 \
| jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' \
| jq -r '.tokens + " - " + .description.moniker' \
| sort -gr | nl
journalctl -fu babylond -o cat
systemctl start babylond
systemctl stop babylond
systemctl restart babylond
babylond status 2>&1 | jq .SyncInfo
curl -s localhost:26657/status | jq .result.sync_info
babylond status 2>&1 | jq .ValidatorInfo
babylond status 2>&1 | jq .NodeInfo
babylond tendermint show-node-id
curl icanhazip.com
babylond keys list
babylond keys show $BBN_WALLET --bech val -a
babylond keys add $BBN_WALLET --recover
babylond keys delete $BBN_WALLET
babylond query bank balances $BBN_WALLET_ADDRESS
babylond tx bank send $BBN_WALLET_ADDRESS GONDERILECEK_CUZDAN_ADRESI 100000000uheart
babylond tx gov vote 1 yes --from $BBN_WALLET --chain-id=$BBN_CHAIN_ID
babylond tx epoching delegate $BBN_VALOPER_ADDRESS 1000000ubbn --from=$BBN_WALLET --chain-id=$BBN_CHAIN_ID --gas-prices=0.1ubbn --gas-adjustment=1.5 --gas=auto
: Mevcut Stake edilen validatorün adresi : Yeni stake edilecek validatorün adresi
babylond tx epoching redelegate <srcValidatorAddress> <destValidatorAddress> 1000000ubbn --from=$BBN_WALLET --chain-id=$BBN_CHAIN_ID --gas-prices=0.1ubbn --gas-adjustment=1.5 --gas=auto
babylond tx distribution withdraw-all-rewards --from=$BBN_WALLET --chain-id=$BBN_CHAIN_ID --gas=auto
babylond tx distribution withdraw-rewards $VALOPER_ADDRESS --from=$BBN_WALLET --commission --chain-id=$BBN_CHAIN_ID
NEWNODENAME yazan yere yeni validator/moniker isminizi yazınız. TR karakçer içermemelidir.
babylond tx staking edit-validator \
--moniker=NEWNODENAME \
--chain-id=$BBN_CHAIN_ID \
--from=$BBN_WALLET
babylond tx staking edit-validator --commission-rate "0.02" --moniker=$BBN_NODENAME --chain-id=$BBN_CHAIN_ID --from=$BBN_WALLET
Bu bilgileri değiştirmeden önce https://keybase.io/ adresine kayıt olarak aşağıdaki kodda görüldüğü gibi 16 haneli (XXXX0000XXXX0000) kodunuzu almalısınız. Ayrıca profil resmi vs. ayarları da yapabilirsiniz. $NODENAME: Yeni node adınız (moniker) $BBN_WALLET: Cüzdan adınız, değiştirmeniz gerekmez. Değişkenlere ekledik çünkü.
babylond tx staking edit-validator \
--moniker=$NODENAME \
--identity=XXXX0000XXXX0000 \
--website="VARSA WEBSITENIZI YAZABILIRSINIZ" \
--details="BU BOLUME KENDINIZI TANITAN BIR CUMLE YAZABILIRSINIZ" \
--gas-prices=0.001ubbn \
--gas-adjustment=1.5 \
--gas=auto \
--chain-id=$BBN_CHAIN_ID \
--from=$BBN_WALLET
--yes
babylond tx slashing unjail --from $BBN_WALLET --chain-id $BBN_CHAIN_ID --gas-prices 0.00001ubbn --gas-adjustment 1.5 --gas auto -y
systemctl stop babylond && \
systemctl disable babylond && \
rm /etc/systemd/system/babylond.service && \
systemctl daemon-reload && \
cd $HOME && \
rm -rf .babylond babylon && \
rm -rf $(which babylond)
sed -i '/BBN_/d' ~/.bash_profile