✔️ Website
✔️ Blockchain Explorer
✔️ Doküman
✔️ GitHub
✔️ Discord
Bileşenler | Minimum Gereksinimler | Tavsiye Edilen Gereksinimler |
---|---|---|
CPU | 4 | 4 |
RAM | 16 GB | 64 GB |
Storage | 500 GB SSD | 1 TB 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.
$JACKAL_NODENAME
validator adınız$JACKAL_WALLET
cüzdan adınız- Eğer portu başka bir node kullanıyorsa aşağıdan değiştirebilirsiniz.
echo "export JACKAL_NODENAME=$JACKAL_NODENAME" >> $HOME/.bash_profile
echo "export JACKAL_WALLET=$JACKAL_WALLET" >> $HOME/.bash_profile
echo "export JACKAL_PORT=11" >> $HOME/.bash_profile
echo "export JACKAL_CHAIN_ID=jackal-1" >> $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 JACKAL_NODENAME=Mehmet" >> $HOME/.bash_profile
echo "export JACKAL_WALLET=Mehmet" >> $HOME/.bash_profile
echo "export JACKAL_PORT=11" >> $HOME/.bash_profile
echo "export JACKAL_CHAIN_ID=babajaga-1" >> $HOME/.bash_profile
source $HOME/.bash_profile
cd || return
rm -rf canine-chain
git clone https://github.com/JackalLabs/canine-chain.git
cd canine-chain || return
git checkout v2.0.0
make install
canined version # 2.0.0
Versiyon çıktısı 2.0.0
olacak.
canined config chain-id $JACKAL_CHAIN_ID
canined init --chain-id $JACKAL_CHAIN_ID $JACKAL_NODENAME
curl -s https://raw.githubusercontent.com/JackalLabs/canine-mainnet-genesis/main/genesis/genesis.json > $HOME/.canine/config/genesis.json
curl -s https://snapshots1.nodejumper.io/jackal/addrbook.json > $HOME/.canine/config/addrbook.json
sed -i 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.025ujkl"|g' $HOME/.canine/config/app.toml
indexer="null"
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.canine/config/config.toml
SEEDS=""
PEERS=""
sed -i 's|^seeds *=.*|seeds = "'$SEEDS'"|; s|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.canine/config/config.toml
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.canine/config/config.toml
pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="50"
snapshot_interval="0"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.canine/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.canine/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.canine/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.canine/config/app.toml
sed -i -e "s/^snapshot-interval *=.*/snapshot-interval = \"$snapshot_interval\"/" $HOME/.canine/config/app.toml
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${JACKAL_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${JACKAL_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${JACKAL_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${JACKAL_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${JACKAL_PORT}660\"%" $HOME/.canine/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${JACKAL_PORT}317\"%; s%^address = \":8080\"%address = \":${JACKAL_PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${JACKAL_PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${JACKAL_PORT}091\"%" $HOME/.canine/config/app.toml
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:${JACKAL_PORT}657\"%" $HOME/.canine/config/client.toml
tee /etc/systemd/system/canined.service > /dev/null << EOF
[Unit]
Description=Jackal Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which canined) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
canined tendermint unsafe-reset-all --home $HOME/.canine --keep-addr-book
SNAP_NAME=$(curl -s https://snapshots1.nodejumper.io/jackal/info.json | jq -r .fileName)
curl "https://snapshots1.nodejumper.io/jackal/${SNAP_NAME}" | lz4 -dc - | tar -xf - -C "$HOME/.canine"
systemctl daemon-reload
systemctl enable canined
systemctl start canined
journalctl -u canined -f -o cat
$JACKAL_WALLET
bölümünü değiştirmiyoruz kurulumun başında cüzdanımıza değişkenler ile isim belirledik.
canined keys add $JACKAL_WALLET
canined keys add $JACKAL_WALLET --recover
Burada cüzdan ve valoper bilgilerimizi değişkene ekliyoruz.
JACKAL_WALLET_ADDRESS=$(canined keys show $JACKAL_WALLET -a)
JACKAL_VALOPER_ADDRESS=$(canined keys show $JACKAL_WALLET --bech val -a)
echo 'export JACKAL_WALLET_ADDRESS='${JACKAL_WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export JACKAL_VALOPER_ADDRESS='${JACKAL_VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile
🔴 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.
canined status 2>&1 | jq .SyncInfo
🔴 Eşleşme tamamlandıysa aşağıdaki adıma geçiyoruz.
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.
canined tx staking create-validator \
--amount=1000000ujkl \
--pubkey=$(canined tendermint show-validator) \
--moniker=$JACKAL_NODENAME \
--chain-id=$JACKAL_CHAIN_ID \
--commission-rate=0.10 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.05 \
--min-self-delegation="1" \
--gas-prices=0.1ujkl \
--gas-adjustment=1.5 \
--gas=auto \
--from=$JACKAL_WALLET \
--details="Always forward with the Anatolian Team 🚀" \
--security-contact="[email protected]" \
--website="https://anatolianteam.com" \
--identity="XXXX1111XXXX1111" \
--yes
journalctl -fu canined -o cat
systemctl start canined
systemctl stop canined
systemctl restart canined
canined status 2>&1 | jq .SyncInfo
curl -s localhost:26657/status | jq .result.sync_info
canined status 2>&1 | jq .ValidatorInfo
canined status 2>&1 | jq .NodeInfo
canined tendermint show-node-id
curl icanhazip.com
canined keys list
canined keys show $JACKAL_WALLET --bech val -a
canined keys add $JACKAL_WALLET --recover
canined keys delete $JACKAL_WALLET
canined query bank balances $JACKAL_WALLET_ADDRESS
canined tx bank send $JACKAL_WALLET_ADDRESS GONDERILECEK_CUZDAN_ADRESI 100000000ujkl
canined tx gov vote 1 yes --from $JACKAL_WALLET --chain-id=$JACKAL_CHAIN_ID
canined tx staking delegate $VALOPER_ADDRESS 100000000ujkl --from=$JACKAL_WALLET --chain-id=$JACKAL_CHAIN_ID --gas=auto --fees 5000ujkl
: Mevcut Stake edilen validatorün adresi : Yeni stake edilecek validatorün adresi
canined tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 100000000ujkl --from=$JACKAL_WALLET --chain-id=$JACKAL_CHAIN_ID --gas=auto
canined tx distribution withdraw-all-rewards --from=$JACKAL_WALLET --chain-id=$JACKAL_CHAIN_ID --gas=auto
canined tx distribution withdraw-rewards $VALOPER_ADDRESS --from=$JACKAL_WALLET --commission --chain-id=$JACKAL_CHAIN_ID
NEWNODENAME yazan yere yeni validator/moniker isminizi yazınız. TR karakçer içermemelidir.
canined tx staking edit-validator \
--moniker=NEWNODENAME \
--chain-id=$JACKAL_CHAIN_ID \
--from=$JACKAL_WALLET
canined tx staking edit-validator --commission-rate "0.02" --moniker=$JACKAL_NODENAME --chain-id=$JACKAL_CHAIN_ID --from=$JACKAL_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) $JACKAL_WALLET: Cüzdan adınız, değiştirmeniz gerekmez. Değişkenlere ekledik çünkü.
canined tx staking edit-validator \
--moniker=$NODENAME \
--identity=XXXX0000XXXX0000 \
--website="VARSA WEBSITENIZI YAZABILIRSINIZ" \
--details="BU BOLUME KENDINIZI TANITAN BIR CUMLE YAZABILIRSINIZ" \
--chain-id=$JACKAL_CHAIN_ID \
--from=$JACKAL_WALLET
canined tx slashing unjail \
--broadcast-mode=block \
--from=$JACKAL_WALLET \
--chain-id=$JACKAL_CHAIN_ID \
--gas=auto
--gas-adjustment=1.4
systemctl stop canined && \
systemctl disable canined && \
rm /etc/systemd/system/canined.service && \
systemctl daemon-reload && \
cd $HOME && \
rm -rf .canine canine-chain && \
rm -rf $(which canined) \
sed -i '/JACKAL_/d' ~/.bash_profile