Jackal Labs ir inovatīva platforma, kas specializējas blokķēdes tehnoloģiju un decentralizētu lietojumprogrammu risinājumu izstrādē. Uzņēmuma mērķis ir nodrošināt rīkus un resursus decentralizētu tīklu izveidei un pārvaldībai, kā arī piedāvā risinājumus, kas uzlabo blokķēdes projektu mērogojamību, drošību un efektivitāti.
Mezgla tips |
PROCESORS |
OPERATĪVĀ ATMIŅA |
Uzglabāšanas vieta |
Testnet |
4 |
8 GB |
150GB |
Automātiskā instalācija
wget -O jkltest https://raw.githubusercontent.com/111STAVR111/props/main/Jackal/Testnet/jkltest && chmod +x jkltest && ./jkltest
Servera sagatavošana
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 instalēšana
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 uzbūve
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
Mezglu inicializācija
canined init STAVR_guide --chain-id=lupulella-2
canined config chain-id lupulella-2
Naudas maka izveide/atjaunošana
canined keys add <walletname>
VAI
canined keys add <walletname> --recover
Genesis ielādēšana
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
Minimālās gāzes cenas un peeringa iestatīšana
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
Apgriešana (pēc izvēles)
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
Indeksētājs (pēc izvēles)
indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.canine/config/config.toml
Addrbook ielāde
wget -O $HOME/.canine/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Jackal/Testnet/addrbook.json"
Pakalpojumu faila izveide
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 atjaunināts ik pēc 5 stundām
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)
Informācija par mezglu:
canined status 2>&1 | jq .NodeInfo
canined status 2>&1 | jq .SyncInfo
canined status 2>&1 | jq .ValidatorInfo
Skatiet mezgla žurnālus:
sudo journalctl -fu canined -o cat
Pārbaudīt pakalpojuma statusu:
sudo systemctl status canined
Pārstartēt pakalpojumu:
sudo systemctl restart canined
Apstādināt pakalpojumu:
sudo systemctl stop canined
Sākt pakalpojumu:
sudo systemctl start canined
Atjaunināt/izslēgt/atļaut/ieslēgt pakalpojumu:
sudo systemctl daemon-reload
sudo systemctl disable canined
sudo systemctl enable canined
Jūsu svētki:
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/".*//')
Izveidot vai atjaunot atslēgu:
canined keys add Wallet_Name
Vai atjaunot
canined keys add Wallet_Name --recover
Pārbaudiet visas atslēgas:
canined keys list
Pārbaudiet līdzsvaru:
canined query bank balances адрес_jkl…
Izdzēst atslēgu:
canined keys delete Wallet_Name
Eksportēt atslēgu:
canined keys export wallet
Importa atslēga:
canined keys import wallet wallet.backup
Rediģēt validatoru:
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
Validatora adrese:
canined keys show Wallet_Name --bech val
Validatora adrese: Jūsu validatora adrese:
canined tendermint show-address
Validatora informācija:
canined query staking validator valoper_address…
Informācija par cietumu:
canined query slashing signing-info $(canined tendermint show-validator)
Atbrīvošana no ieslodzījuma:
canined tx slashing unjail --from Wallet_Name --chain-id jackal-1 --gas 350000 -y
Aktīvu validatoru saraksts:
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
Neaktīvo validatoru saraksts:
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
Validatora atslēga:
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"
Izvadīt visas atlīdzības:
canined tx distribution withdraw-all-rewards --from Wallet_Name --chain-id jackal-1 --gas 350000 -y
Izvadīt validatora komisijas maksu:
canined tx distribution withdraw-rewards valoper1... --from Wallet_Name --gas 350000 --chain-id=jackal-1 --commission -y
Žetonu deleģēšana:
canined tx staking delegate Your_valoper "100000000"ujkl --from Wallet_Name --gas 350000 --chain-id=jackal-1 -y
Žetonu atkārtota deleģēšana:
canined tx staking redelegate Your_valoper valoper_другого_валидатора "100000000"ujkl --from Wallet_Name --gas 350000 --chain-id=jackal-1 -y
Žetonu deleģēšana:
canined tx staking unbond Your_valoper "100000000"ujkl --from Wallet_Name --gas 350000 --chain-id=jackal-1 -y
Apskatīt visus priekšlikumus:
canined query gov proposals
Pārskatīt konkrētu priekšlikumu:
canined query gov proposal 1
Balsot par:
canined tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id jackal-1 -y
Balsot pret:
canined tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id jackal-1 -y
Balsot par: balsot pret: Atturēties:
canined tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id jackal-1 -y
Balsot pret ar veto:
canined tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id jackal-1 -y
IBC pārcelšana
Piemērs par pārcelšanu no Jackal uz 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