Metode de plată Abuse

Jackal Labs. Instalarea nodului

16.09.2024, 18:52

Jackal Labs este o platformă inovatoare specializată în dezvoltarea de soluții pentru tehnologii blockchain și aplicații descentralizate. Compania își propune să furnizeze instrumente și resurse pentru construirea și gestionarea rețelelor descentralizate și oferă soluții pentru îmbunătățirea scalabilității, securității și eficienței proiectelor blockchain.

Cerințe hardware minime

Tipul nodului

CPU

RAM

Stocare

Testnet

4

8GB

150GB

Instalarea nodului

Instalare automată

wget -O jkltest https://raw.githubusercontent.com/111STAVR111/props/main/Jackal/Testnet/jkltest && chmod +x jkltest && ./jkltest

Instalare manuală

Pregătirea serverului

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 git jq chrony liblz4-tool -y

Instalarea Go 1.21.6

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

Compilarea Jackal

cd $HOME && mkdir $HOME/go/bin/
git clone https://github.com/JackalLabs/canine-chain && cd canine-chain
git checkout v4.0.0-beta.5
make install
canined version --long | head
Версия: 4.0.0-beta.5
Коммит: 05785bccff802e963d0c964434d38fc77833d4c3

Inițializarea nodului

canined init STAVR_guide --chain-id=lupulella-2
canined config chain-id lupulella-2

Crearea/restaurarea unui portofel

canined keys add <walletname>

SAU

canined keys add <walletname> --recover

Încărcarea Genesis

curl -s  "https://raw.githubusercontent.com/111STAVR111/props/main/Jackal/Testnet/genesis.json" > ~/.canine/config/genesis.json
sha256sum $HOME/.canine/config/genesis.json
SHA256: 9701001c2188abf7c117f7192030bcbab358ac1d5b1a61594f443d3b206ab5a2

Setarea prețului minim al gazului și peering

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = "0.0ujkl"/;" ~/.canine/config/app.toml
sed -i -e "s/^filter_peers *=.*/filter_peers = "true"/" $HOME/.canine/config/config.toml
external_address=$(wget -qO- eth0.me) 
sed -i.bak -e "s/^external_address *=.*/external_address = "$external_address:26656"/" $HOME/.canine/config/config.toml
peers=""
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = "$peers"/" $HOME/.canine/config/config.toml
seeds=""
sed -i.bak -e "s/^seeds =.*/seeds = "$seeds"/" $HOME/.canine/config/config.toml
sed -i 's/max_num_inbound_peers =.*/max_num_inbound_peers = 50/g' $HOME/.canine/config/config.toml
sed -i 's/max_num_outbound_peers =.*/max_num_outbound_peers = 50/g' $HOME/.canine/config/config.toml

Pruning (opțional)

pruning="custom"
pruning_keep_recent="1000"
pruning_keep_every="0"
pruning_interval="10"
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

Indexare (opțional)

indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.canine/config/config.toml

Încărcarea addrbook

wget -O $HOME/.canine/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Jackal/Testnet/addrbook.json"

Crearea unui fișier de serviciu

sudo tee /etc/systemd/system/canined.service > /dev/null <<EOF
[Unit]
Description=canined Testnet
After=network-online.target
[Service]
User=$USER
ExecStart=$(which canined) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

StateSync Jackal Testnet

SNAP_RPC=https://jkl.rpc.t.stavr.tech:443
peers="80613772b20df144945801b42f327d0945a24374@jkltest.peer.stavr.tech:19126"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = "$peers"/" $HOME/.canine/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"| ; 
s|^(seeds[[:space:]]+=[[:space:]]+).*$|1""|" $HOME/.canine/config/config.toml
canined tendermint unsafe-reset-all --home /root/.canine
wget -O $HOME/.canine/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Jackal/Testnet/addrbook.json"
systemctl restart canined && journalctl -u canined -f -o cat

SnapShot Rețea principală actualizată la fiecare 5 ore

cd $HOME
apt install lz4
sudo systemctl stop canined
cp $HOME/.canine/data/priv_validator_state.json $HOME/.canine/priv_validator_state.json.backup
rm -rf $HOME/.canine/data
curl -o - -L https://jkltest.snapshot.stavr.tech/jackalt-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.canine --strip-components 2
mv $HOME/.canine/priv_validator_state.json.backup $HOME/.canine/data/priv_validator_state.json
wget -O $HOME/.canine/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Jackal/Testnet/addrbook.json"
sudo systemctl restart canined && journalctl -u canined -f -o cat

Lansare

sudo systemctl daemon-reload
sudo systemctl enable canined 
sudo systemctl restart canined && sudo journalctl -u canined -f -o cat

Crearea validatorului

canined tx staking create-validator 
  --amount 1000000ujkl 
  --from <walletName> 
  --commission-max-change-rate "0.1" 
  --commission-max-rate "0.2" 
  --commission-rate "0.1" 
  --min-self-delegation "1" 
  --pubkey  $(canined tendermint show-validator) 
  --moniker STAVR_guide 
  --chain-id lupulella-2 
  --identity="" 
  --details="" 
  --website="" -y

Ștergerea nodului

sudo systemctl stop canined
sudo systemctl disable canined
rm /etc/systemd/system/canined.service
sudo systemctl daemon-reload
cd $HOME
rm -rf canine-chain
rm -rf .canine
rm -rf $(which canined)

Comenzi utile pentru gestionarea nodului Jackal

Comenzi de serviciu

Informații despre nod:

canined status 2>&1 | jq .NodeInfo
canined status 2>&1 | jq .SyncInfo
canined status 2>&1 | jq .ValidatorInfo

Vizualizați jurnalele nodului:

sudo journalctl -fu canined -o cat

Verificați starea serviciului:

sudo systemctl status canined

Reporniți serviciul:

sudo systemctl restart canined

Oprire serviciu:

sudo systemctl stop canined

Porniți serviciul:

sudo systemctl start canined

Actualizarea/dezactivarea/activarea/activarea serviciului:

sudo systemctl daemon-reload
sudo systemctl disable canined
sudo systemctl enable canined

Sărbătoarea dumneavoastră:

echo $(canined tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.canine/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')

Gestionarea cheilor

Creați sau restaurați o cheie:

canined keys add Wallet_Name

Sau restaurare

canined keys add Wallet_Name --recover

Verificați toate cheile:

canined keys list

Verificați soldul:

canined query bank balances адрес_jkl…

Ștergeți cheia:

canined keys delete Wallet_Name

Exportați tasta:

canined keys export wallet

Cheie de import:

canined keys import wallet wallet.backup

Gestionați validatorul

Editați validatorul:

canined tx staking edit-validator 
--new-moniker "Your_Moniker" 
--identity "Keybase_ID" 
--details "Your_Description" 
--website "Your_Website" 
--security-contact "Your_Email" 
--chain-id jackal-1 
--commission-rate 0.05 
--from Wallet_Name 
--gas 350000 -y

Adresa validatorului dumneavoastră:

canined keys show Wallet_Name --bech val

Adresa validatorului dumneavoastră:

canined tendermint show-address

Informații privind validatorul:

canined query staking validator valoper_address…

Jail Information (Informații despre închisoare):

canined query slashing signing-info $(canined tendermint show-validator)

Unjail:

canined tx slashing unjail --from Wallet_Name --chain-id jackal-1 --gas 350000 -y

Lista validatorilor activi:

canined 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

Lista validatorilor inactivi: List of inactive validators:

canined 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

Verificarea cheii validatorului:

VALOPER=Ваш_valoper
[[ $(canined q staking validator $VALOPER -oj | jq -r .consensus_pubkey.key) = $(canined status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "nYou winn" || echo -e "nYou losen"

Ieșirea tuturor recompenselor:

canined tx distribution withdraw-all-rewards --from Wallet_Name --chain-id jackal-1 --gas 350000 -y

Ieșire comision validator:

canined tx distribution withdraw-rewards valoper1... --from Wallet_Name --gas 350000 --chain-id=jackal-1 --commission -y

Delegarea jetoanelor:

canined tx staking delegate Your_valoper "100000000"ujkl --from Wallet_Name --gas 350000 --chain-id=jackal-1 -y

Redelegarea jetoanelor:

canined tx staking redelegate Your_valoper valoper_другого_валидатора "100000000"ujkl --from Wallet_Name --gas 350000 --chain-id=jackal-1 -y

De-delegarea jetoanelor:

canined tx staking unbond Your_valoper "100000000"ujkl --from Wallet_Name --gas 350000 --chain-id=jackal-1 -y

Vot (guvernare)

Vizualizați toate propunerile:

canined query gov proposals

Vizualizați o propunere specifică:

canined query gov proposal 1

Votați în favoarea:

canined tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id jackal-1 -y

Vot împotrivă:

canined tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id jackal-1 -y

Abținere:

canined tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id jackal-1 -y

Vot împotrivă cu veto:

canined tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id jackal-1 -y

Transfer IBC

Exemplu de transfer de la Jackal la Osmosis:

canined tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress "100000"ujkl --from Your_Jackal_Wallet_Name --gas 350000 --chain-id=jackal-1 -y