Modes de paiement Abuse

Jackal Labs. Installation du nœud

16.09.2024, 18:52

Jackal Labs est une plateforme innovante spécialisée dans le développement de solutions pour les technologies blockchain et les applications décentralisées. L'entreprise vise à fournir des outils et des ressources pour construire et gérer des réseaux décentralisés, et propose des solutions pour améliorer l'évolutivité, la sécurité et l'efficacité des projets de blockchain.

Exigences minimales en matière de matériel

Type de nœud

CPU

MÉMOIRE VIVE

Stockage

Testnet

4

8GB

150GB

Installation du nœud

Auto-installation

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

Installation manuelle

Préparation du serveur

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

Installation de 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

Construction de 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

Initialisation du nœud

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

Création/restauration d'un portefeuille

canined keys add <walletname>

OU

canined keys add <walletname> --recover

Chargement de 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

Mise en place du prix minimum du gaz et du 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

Élagage (optionnel)

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

Indexation (facultatif)

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

Chargement de addrbook

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

Création d'un fichier de service

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 Mainnet mis à jour toutes les 5 heures

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

Démarrage

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

Création du validateur

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

Supprimer le nœud

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)

Commandes utiles pour la gestion du nœud Jackal

Commandes de service

Informations sur le nœud :

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

Consulter les journaux du nœud :

sudo journalctl -fu canined -o cat

Vérifier l'état du service :

sudo systemctl status canined

Redémarrer le service :

sudo systemctl restart canined

Arrêter le service :

sudo systemctl stop canined

Démarrer le service :

sudo systemctl start canined

Mettre à jour/désactiver/activer le service :

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

Votre festin :

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

Gestion des clés

Créer ou restaurer une clé :

canined keys add Wallet_Name

Ou restaurer

canined keys add Wallet_Name --recover

Vérifier toutes les clés :

canined keys list

Vérifier le solde :

canined query bank balances адрес_jkl…

Supprimer une clé :

canined keys delete Wallet_Name

Clé d'exportation : Clé d'importation : Clé d'exportation : Clé d'exportation : Clé d'importation

canined keys export wallet

Importer la clé :

canined keys import wallet wallet.backup

Gérer le validateur

Modifier le validateur :

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

L'adresse de votre validateur :

canined keys show Wallet_Name --bech val

L'adresse de votre validateur :

canined tendermint show-address

Informations sur le validateur :

canined query staking validator valoper_address…

Informations sur la prison :

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

Unjail :

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

Liste des validateurs actifs :

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

Liste des validateurs inactifs :

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

Vérifier la clé du validateur :

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"

Éditer toutes les récompenses :

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

Sortie de la commission du validateur :

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

Délégation des jetons :

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

Redélégation des jetons :

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

Dé-délégation de jetons : Dé-délégation de jetons : Dé-délégation de jetons : Dé-délégation de jetons :

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

Vote (gouvernance)

Voir toutes les propositions :

canined query gov proposals

Voir une proposition spécifique :

canined query gov proposal 1

Voter pour :

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

Voter contre :

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

S'abstenir :

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

Voter contre avec droit de veto :

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

Transfert du BAC

Exemple de transfert de Jackal à 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