Stake via Restake
How to stake Jackal tokens via Restake?
Stake via Keplr
Stake via Restake
Stake via Keplr
Özellik
Değer
Snapshot Info
Stop the service and reset the data
sudo systemctl stop canined
cp $HOME/.canine/data/priv_validator_state.json $HOME/.canine/priv_validator_state.json.backup
rm -rf $HOME/.canine/data
Download latest snapshot
curl -L https://services.bccnodes.com/mainnets/jackal/jackal.tar.lz4| tar -Ilz4 -xf - -C $HOME/.canine
mv $HOME/.canine/priv_validator_state.json.backup $HOME/.canine/data/priv_validator_state.json
Restart the service and check the log
sudo systemctl restart canined && sudo journalctl -u canined -f --no-hostname -o cat
Stop the service and reset the data
sudo systemctl stop canined
cp $HOME/.canine/data/priv_validator_state.json $HOME/.canine/priv_validator_state.json.backup
canined tendermint unsafe-reset-all --home $HOME/.canine --keep-addr-book
Get and configure the state sync information
SNAP_RPC="https://jackal.rpc.bccnodes.com:443"
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.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\"|" $HOME/.canine/config/config.toml
mv $HOME/.canine/priv_validator_state.json.backup $HOME/.canine/data/priv_validator_state.json
Restart the service and check the log
sudo systemctl restart canined && sudo journalctl -u canined -f --no-hostname -o cat
Download Addrbook
curl -Ls https://services.bccnodes.com/mainnets/jackal/addrbook.json > $HOME/.canine/config/addrbook.json
Restart the service and check the log
sudo systemctl restart canined && sudo journalctl -u canined -f --no-hostname -o cat
Download Genesis
curl -Ls https://services.bccnodes.com/mainnets/jackal/genesis.json > $HOME/.canine/config/genesis.json
Restart the service and check the log
sudo systemctl restart canined && sudo journalctl -u canined -f --no-hostname -o cat
Set fresh peers
livepeers=$(curl -s https://services.bccnodes.com/mainnets/jackal/peers.txt)
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$livepeers\"/" ~/.canine/config/config.toml
Restart the service and check the log
sudo systemctl restart canined && sudo journalctl -u canined -f --no-hostname -o cat
Update packages & Install dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install curl build-essential git wget jq make gcc tmux chrony lz4 -y
Install GO
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.19.10.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
Download and build binaries
rm -rf canine-chain
git clone https://github.com/JackalLabs/canine-chain.git
cd canine-chain
git checkout v2.0.0
make install
Download and build binaries
canined config chain-id jackal-1
canined init "BccNodesGuide" --chain-id jackal-1
Download genesis and addrbook
curl -Ls https://services.bccnodes.com/mainnets/jackal/genesis.json > $HOME/.canine/config/genesis.json
curl -Ls https://services.bccnodes.com/mainnets/jackal/addrbook.json > $HOME/.canine/config/addrbook.json
Config pruning
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "10"|' \
$HOME/.canine/config/app.toml
Indexer (optional)
indexer="null" && \
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.rebusd/config/config.toml
Set minimum gas price
sed -i 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.0001ujkl"|g' $HOME/.canine/config/app.toml
Enable prometheus
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.canine/config/config.toml
Create service
sudo tee /etc/systemd/system/canined.service > /dev/null << EOF
[Unit]
Description=jackal Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which canined) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
Start service
sudo systemctl daemon-reload
sudo systemctl enable canined
sudo systemctl start canined
sudo journalctl -u canined -f
Create a validator
canined tx staking create-validator \
--amount 1000000ajackal \
--commission-max-change-rate "0.1" \
--commission-max-rate "0.20" \
--commission-rate "0.1" \
--min-self-delegation "1" \
--pubkey=$(canined tendermint show-validator) \
--moniker BccNodesGuide \
--chain-id jackal-1 \
--gas-prices=0.1ujkl \
--gas-adjustment=1.5 \
--gas=auto \
--from wallet
Key Management
Replace the wallet value in the codes with your own wallet name.
Add New Key
canined keys add wallet
Recover existing key
canined keys add wallet --recover
List All Keys
canined keys list
Delete Key
canined keys delete wallet
Export Key (save to wallet.backup)
canined keys export wallet
Import Key
canined keys import wallet wallet.backup
Export Key (save to wallet.backup)
canined q bank balances $(canined keys show wallet -a)
Validator Management
Please adjust --identity , --details , --moniker , --security-contact , --from
Create a New Validator
canined tx staking create-validator \
--amount=1000000ujkl \
--pubkey=$(canined tendermint show-validator) \
--moniker="BccNodesGuide" \
--identity=XXXXXXX \
--details="XXXXXXX" \
--chain-id=jackal-1 \
--security-contact="XXXXXXX" \
--commission-rate=0.10 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--from=wallet \
--gas-prices=0.1ujkl \
--gas-adjustment=1.5 \
--gas=auto \
-y
Edit Existing Validator
canined tx staking edit-validator \
--new-moniker="BccNodesGuide" \
--identity=XXXXXXX \
--details="XXXXXXX" \
--chain-id=jackal-1 \
--commission-rate=0.1 \
--from=wallet \
--gas-prices=0.1ujkl \
--gas-adjustment=1.5 \
--gas=auto \
-y
Unjail Validator
canined tx slashing unjail --from wallet --chain-id jackal-1 --gas-prices 0.1ujkl --gas-adjustment 1.5 --gas auto -y
Signing Info (Jailed Reason)
canined query slashing signing-info $(canined tendermint show-validator)
List All Active Validators
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
View Validator Details
canined q staking validator $(canined keys show wallet --bech val -a)
Tokens Management
Please adjust TO_VALOPER_ADDRESS , --from
Withdraw Rewards From All Validators
canined tx distribution withdraw-all-rewards --from wallet --chain-id jackal-1 --gas-prices 0.1ujkl --gas-adjustment 1.5 --gas auto -y
Withdraw Commission And Rewards From Your Validator
canined tx distribution withdraw-rewards $(canined keys show wallet --bech val -a) --commission --from wallet --chain-id jackal-1 --gas-prices 0.1ujkl --gas-adjustment 1.5 --gas auto -y
Delegate Token to your own validator
canined tx staking delegate $(canined keys show wallet --bech val -a) 1000000ujkl --from wallet --chain-id jackal-1 --gas-prices 0.1ujkl --gas-adjustment 1.5 --gas auto -y
Delegate Token to other validator
canined tx staking delegate YOUR_TO_VALOPER_ADDRESS 1000000ujkl --from wallet --chain-id jackal-1 --gas-prices 0.1ujkl --gas-adjustment 1.5 --gas auto -y
Unbond Token from your validator
canined tx staking redelegate $(canined keys show wallet --bech val -a) YOUR_TO_VALOPER_ADDRESS 1000000ujkl --from wallet --chain-id jackal-1 --gas-prices 0.1ujkl --gas-adjustment 1.5 --gas auto -y
Send Token to another wallet
canined tx bank send wallet TO_WALLET_ADDRESS 1000000uujkl --from wallet --chain-id jackal-1
Delegate Token to other validator
canined tx staking delegate YOUR_TO_VALOPER_ADDRESS 1000000ujkl --from wallet --chain-id jackal-1 --gas-prices 0.1ujkl --gas-adjustment 1.5 --gas auto -y
Governance
Please adjust ---description , --title , --from
Create New Text Proposal
canined tx gov submit-proposal \
--title="Title" \
--description="Description" \
--deposit=1000000ujkl \
--type="Text" \
--from=wallet \
--gas-prices=0.1ujkl \
--gas-adjustment=1.5 \
--gas=auto \
-y
List All Proposals
canined query gov proposals
View Proposal By ID (e.g 20)
canined query gov proposal 20
Vote [yes/no/no_with_veto/abstain]
canined tx gov vote 20 [yes/no/no_with_veto/abstain] --chain-id jackal-1 --from wallet
Utility
Update Indexer
sed -i 's|^indexer *=.*|indexer = "kv"|' $HOME/.canine/config/config.toml
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.canine/config/config.toml
Get Validator Info
canined status 2>&1 | jq .ValidatorInfo
Get Denom Info
canined q bank denom-metadata -oj | jq
Get Sync Status
canined status 2>&1 | jq .SyncInfo.catching_up
Get Latest Height
canined status 2>&1 | jq .SyncInfo.latest_block_height
Get Peer
echo $(canined tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.canine/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Remove Node
sudo systemctl stop canined && sudo systemctl disable canined && sudo rm /etc/systemd/system/canined.service && sudo systemctl daemon-reload && rm -rf $HOME/.canine && rm -rf rebus.core && sudo rm -rf $(which canined)
Service Management
Reload Services
sudo systemctl daemon-reload
Enable Service
sudo systemctl enable canined
Disable Service
sudo systemctl disable canined
Start Service
sudo systemctl start canined
Stop Service
sudo systemctl stop canined
Restart Service
sudo systemctl restart canined
Check Service Status
sudo systemctl status canined
Check Service Logs
sudo journalctl -u canined -f --no-hostname -o cat
API
https://jackal.ldc.bccnodes.com/
RPC
https://jackal.rpc.bccnodes.com/
gRPC
jackal.grpc.bccnodes.com:443
1,255+
Number of delegators
$721,839+
Total staked assets
19
Supported networks
We pride ourselves with our ability to perform and deliver results. Use the form below to discuss your project needs with our team, we will get back asap
Contact UsIf you are interested in the possibility of establishing a long-term partnership with our team or if you have any questions, please feel free to contact us at contact@bccnodes.com.
Our team is made up of experienced individuals and entrepreneurs from a range of disciplines, including blockchain, product development, marketing, and design, who all share a passion for creating positive social impact through the power of web3 and blockchain technology.
The answers are here!
There are multiple options for staking on a Cosmos ecosystem. For a detailed guide, we invite you to review our article at the following link.
We pride ourselves with our ability to perform and deliver results. Use the form below to discuss your project needs with our team, we will get back asap
Contact UsOur latest articles
OKP4 token
Meet Stride
Meet OKP4
About Massa
Stake via Restake
Stake via Keplr
Stake via Keplr
If you still have questions for us, please fill out this form or contact us directly by e-mail at contact@bccnodes.com. We will be happy to answer your questions.
based in
Istanbul, Turkey
contact@bccnodes.com