Jackal Labs – блокчейн технологиялары мен орталықтандырылмаған қосымшалар саласындағы шешімдерді әзірлеуге маманданған инновациялық платформа. Компания орталықтандырылмаған желілерді құру және басқару үшін құралдар мен ресурстарды қамтамасыз етуге бағытталған және блокчейн жобаларының ауқымдылығын, қауіпсіздігін және тиімділігін жақсарту үшін шешімдер ұсынады.
Түйін түрі | CPU | Жедел Жадтау Құрылғысы | Сақтау |
Testnet | 4 | 8 ГБ | 150 ГБ |
Автоматты орнату
wget -O jkltest https://raw.githubusercontent.com/111STAVR111/props/main/Jackal/Testnet/jkltest && chmod +x jkltest && ./jkltestСерверді дайындау
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 -yGo 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Сборка Шакал
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Инициализация узла
canined init STAVR_guide --chain-id=lupulella-2 canined config chain-id lupulella-2Создание/восстановление кошелька
canined keys add <walletname>ИЛИ
canined keys add <walletname> --recoverЗагрузка 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Настройка минимальной цены газа и пирингов
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="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="null" && sed -i -e "s/^indexer *=.*/indexer = "$indexer"/" $HOME/.canine/config/config.tomlЗагрузка adrbook
wget -O $HOME/.canine/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Jackal/Testnet/addrbook.json"Создание файла службы
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 EOFStateSync 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 catSnapShot Mainnet 5 сағатқа созылады
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)Ақпарат туралы ақпарат:
canined status 2>&1 | jq .NodeInfo canined status 2>&1 | jq .SyncInfo canined status 2>&1 | jq .ValidatorInfoПросмотр логов узла:
sudo journalctl -fu canined -o catҚызмет күйін тексеру:
sudo systemctl status caninedҚызметті қайта іске қосу:
sudo systemctl restart caninedҚызметті тоқтату:
sudo systemctl stop caninedҚызметті іске қосыңыз:
sudo systemctl start caninedҚызметті жаңарту/өшіру/қосу:
sudo systemctl daemon-reload sudo systemctl disable canined sudo systemctl enable caninedСіздің мерекеңіз:
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/".*//')Кілтті жасау немесе қалпына келтіру:
canined keys add Wallet_NameНемесе қалпына келтіру
canined keys add Wallet_Name --recoverБарлық кілттерді тексеріңіз:
canined keys listБалансты тексеру:
canined query bank balances адрес_jkl…Кілтті жою:
canined keys delete Wallet_NameЭкспорт кілті:
canined keys export walletИмпорт кілті:
canined keys import wallet wallet.backup
Өңдеу валидаторы:
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Сіздің валидатор мекенжайыңыз:
canined keys show Wallet_Name --bech valСіздің Valkons мекенжайыңыз:
canined tendermint show-addressВалидатор туралы ақпарат:
canined query staking validator valoper_address…Түрме туралы ақпарат:
canined query slashing signing-info $(canined tendermint show-validator)Түрмеден босату:
canined tx slashing unjail --from Wallet_Name --chain-id jackal-1 --gas 350000 -yБелсенді валидаторлар тізімі:
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Белсенді емес валидаторлар тізімі:
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Валидатор кілтін тексеріңіз:
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"Барлық сыйақыларды алып тастау:
canined tx distribution withdraw-all-rewards --from Wallet_Name --chain-id jackal-1 --gas 350000 -yВалидатор комиссиясының нәтижесі:
canined tx distribution withdraw-rewards valoper1... --from Wallet_Name --gas 350000 --chain-id=jackal-1 --commission -yТокен делегациясы:
canined tx staking delegate Your_valoper "100000000"ujkl --from Wallet_Name --gas 350000 --chain-id=jackal-1 -yТокенді қайта жіберу:
canined tx staking redelegate Your_valoper valoper_другого_валидатора "100000000"ujkl --from Wallet_Name --gas 350000 --chain-id=jackal-1 -yТокеннің мұрагерлігі:
canined tx staking unbond Your_valoper "100000000"ujkl --from Wallet_Name --gas 350000 --chain-id=jackal-1 -yБарлық ұсыныстарды көру:
canined query gov proposalsАрнайы ұсынысты көру:
canined query gov proposal 1«Қолдау» дауыс беру:
canined tx gov vote 1 yes --from Wallet_Name --gas 350000 --chain-id jackal-1 -y«қарсы» дауыс беру:
canined tx gov vote 1 no --from Wallet_Name --gas 350000 --chain-id jackal-1 -yВоздержаться:
canined tx gov vote 1 abstain --from Wallet_Name --gas 350000 --chain-id jackal-1 -yГолосовать "против с вето":
canined tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --chain-id jackal-1 -yIBC аударымы
Осмосқа шакал переводасының мысалы:
canined tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress "100000"ujkl --from Your_Jackal_Wallet_Name --gas 350000 --chain-id=jackal-1 -y