Zahlungsmethoden Abuse

Jackal Labs. Installieren des Knotens

16.09.2024, 18:52

Jackal Labs ist eine innovative Plattform, die sich auf die Entwicklung von Lösungen für Blockchain-Technologien und dezentralisierte Anwendungen spezialisiert hat. Das Unternehmen hat sich zum Ziel gesetzt, Tools und Ressourcen für den Aufbau und die Verwaltung dezentraler Netzwerke bereitzustellen und bietet Lösungen zur Verbesserung der Skalierbarkeit, Sicherheit und Effizienz von Blockchain-Projekten.

Mindestanforderungen an die Hardware

Node-Typ

CPU

ARBEITSSPEICHER

Speicher

Testnet

4

8GB

150GB

Installation des Knotens

Auto-Installation

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

Manuelle Installation

Vorbereitung des Servers

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 von 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

Jackal bauen

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

Initialisierung des Knotens

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

Erstellen/Wiederherstellen einer Wallet

canined keys add <walletname>

OR

canined keys add <walletname> --recover

Genesis laden

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

Einrichten von Mindestgaspreis und 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

Beschneiden (optional)

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

Indexer (optional)

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

Addrbook laden

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

Erstellen einer Servicedatei

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 Testnetz

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 wird alle 5 Stunden aktualisiert

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

Starten

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

Validator erstellen

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

Knoten löschen

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)

Nützliche Befehle für die Verwaltung des Jackal-Knotens

Dienst-Befehle

Knoten-Informationen:

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

Knotenprotokolle anzeigen:

sudo journalctl -fu canined -o cat

Dienststatus prüfen:

sudo systemctl status canined

Dienst neu starten:

sudo systemctl restart canined

Dienst anhalten:

sudo systemctl stop canined

Dienst starten:

sudo systemctl start canined

Den Dienst aktualisieren/deaktivieren/aktivieren/aktivieren:

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

Ihr Fest:

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

Schlüsselverwaltung

Erstellen oder Wiederherstellen eines Schlüssels:

canined keys add Wallet_Name

Wiederherstellen

canined keys add Wallet_Name --recover

Alle Schlüssel überprüfen:

canined keys list

Saldo prüfen:

canined query bank balances адрес_jkl…

Schlüssel löschen:

canined keys delete Wallet_Name

Schlüssel exportieren:

canined keys export wallet

Schlüssel importieren:

canined keys import wallet wallet.backup

Prüfer verwalten

Validator bearbeiten:

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

Die Adresse Ihres Validierers:

canined keys show Wallet_Name --bech val

Die Adresse Ihres Validierers:

canined tendermint show-address

Prüfer-Informationen:

canined query staking validator valoper_address…

Gefängnis-Informationen:

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

Gefängnis:

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

Liste der aktiven Prüfer:

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 der inaktiven Prüfer:

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

Prüferschlüssel prüfen:

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"

Alle Belohnungen ausgeben:

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

Prüferprovision ausgeben:

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

Delegierung von Token:

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

Rückübertragung von Token:

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

De-Delegation von Token:

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

Abstimmen (Governance)

Alle Vorschläge anzeigen:

canined query gov proposals

Einen bestimmten Vorschlag anzeigen:

canined query gov proposal 1

Mit Ja stimmen:

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

Stimmt dagegen:

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

Enthaltung:

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

Gegenstimmen mit Veto:

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

IBC-Übertragung

Beispiel für einen Transfer von Jackal zu 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