Jackal Labs on uuenduslik platvorm, mis on spetsialiseerunud plokiahela tehnoloogiate ja detsentraliseeritud rakenduste lahenduste arendamisele. Ettevõtte eesmärk on pakkuda vahendeid ja ressursse detsentraliseeritud võrkude loomiseks ja haldamiseks ning pakub lahendusi plokiahelaprojektide skaleeritavuse, turvalisuse ja tõhususe parandamiseks.
Sõlme tüüp |
CPU |
RAM |
Salvestusruum |
Testnet |
4 |
8 GB |
150GB |
Automaatne paigaldus
wget -O jkltest https://raw.githubusercontent.com/111STAVR111/props/main/Jackal/Testnet/jkltest && chmod +x jkltest && ./jkltest
Serveri ettevalmistamine
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
Go 1.21.6 paigaldamine
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 build
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
Sõlme initsialiseerimine
canined init STAVR_guide --chain-id=lupulella-2
canined config chain-id lupulella-2
Rahakoti loomine/taastamine
canined keys add <walletname>
VÕI
canined keys add <walletname> --recover
Genesis'i laadimine
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
Minimaalse gaasihinna ja peeringu seadistamine
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
Kärpimine (valikuline)
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
Indekseerija (valikuline)
indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.canine/config/config.toml
Addrbooki laadimine
wget -O $HOME/.canine/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Jackal/Testnet/addrbook.json"
Teenusefaili loomine
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, mida uuendatakse iga 5 tunni järel
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
sudo systemctl daemon-reload
sudo systemctl enable canined
sudo systemctl restart canined && sudo journalctl -u canined -f -o cat
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
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)
Teave sõlme kohta:
canined status 2>&1 | jq .NodeInfo
canined status 2>&1 | jq .SyncInfo
canined status 2>&1 | jq .ValidatorInfo
Sõlme logide vaatamine:
sudo journalctl -fu canined -o cat
Teenuse oleku kontrollimine:
sudo systemctl status canined
Teenuse taaskäivitamine:
sudo systemctl restart canined
Teenuse peatamine:
sudo systemctl stop canined
Teenuse käivitamine:
sudo systemctl start canined
Teenuse uuendamine/väljalülitamine/aktiveerimine/aktiveerimine:
sudo systemctl daemon-reload
sudo systemctl disable canined
sudo systemctl enable canined
Teie pidu:
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/".*//')
Võtme loomine või taastamine:
canined keys add Wallet_Name
Või taastamine
canined keys add Wallet_Name --recover
Kontrollida kõiki võtmeid:
canined keys list
Kontrollige tasakaalu:
canined query bank balances адрес_jkl…
Kustuta võti:
canined keys delete Wallet_Name
Ekspordi võti:
canined keys export wallet
Impordi võti:
canined keys import wallet wallet.backup
Redigeeri valideerija:
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
Teie valideerija aadress:
canined keys show Wallet_Name --bech val
Validaatori aadress:
canined tendermint show-address
Validaatori andmed:
canined query staking validator valoper_address…
Jail Information: Jail Information:
canined query slashing signing-info $(canined tendermint show-validator)
Unjail:
canined tx slashing unjail --from Wallet_Name --chain-id jackal-1 --gas 350000 -y
Aktiivsete valideerijate nimekiri:
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
Mitteaktiivsete valideerijate nimekiri:
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
Kontrollida valideerija võtit:
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"
Väljastada kõik preemiad:
canined tx distribution withdraw-all-rewards --from Wallet_Name --chain-id jackal-1 --gas 350000 -y
Väljastada valideerija komisjonitasu:
canined tx distribution withdraw-rewards valoper1... --from Wallet_Name --gas 350000 --chain-id=jackal-1 --commission -y
Väärtpaberite delegeerimine:
canined tx staking delegate Your_valoper "100000000"ujkl --from Wallet_Name --gas 350000 --chain-id=jackal-1 -y
Väärtpaberite ümberdelegeerimine:
canined tx staking redelegate Your_valoper valoper_другого_валидатора "100000000"ujkl --from Wallet_Name --gas 350000 --chain-id=jackal-1 -y
Märkide de-delegatsioon:
canined tx staking unbond Your_valoper "100000000"ujkl --from Wallet_Name --gas 350000 --chain-id=jackal-1 -y
Vaata kõiki ettepanekuid:
canined query gov proposals
Vaadake konkreetset ettepanekut:
canined query gov proposal 1
Hääletage poolt:
canined tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id jackal-1 -y
Hääletage vastu:
canined tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id jackal-1 -y
Erapooletuid:
canined tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id jackal-1 -y
Hääletada vastu koos vetoga:
canined tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id jackal-1 -y
IBC ülekanne
Näide ülekandmise kohta Jackalilt Osmosisele:
canined tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress "100000"ujkl --from Your_Jackal_Wallet_Name --gas 350000 --chain-id=jackal-1 -y