StakeTown
  • Introduction
  • 🔗IBC relayers
  • Tools
    • Discord Governance Bot
    • IBC Monitoring
  • Mainnet
    • Archway
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Aura
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • C4E
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Celestia
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Elys
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Gitopia
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Juno
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Kyve
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Lava
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Osmosis
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Persistence
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Picasso
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Planq
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Quasar
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Quicksilver
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Source
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Umee
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
  • Testnet
    • Arkeo Network
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Babylon
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • C4E
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Celestia
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Elys
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Juno
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Lava
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Ojo
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Native
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Persistence
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Prysm
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Quicksilver
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Side Protocol
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Umee
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
    • Warden Protocol
      • Installation
      • Updates
      • Sync
      • Public API
      • Cheat Sheet
Powered by GitBook
On this page
  • Wallet operations
  • Validator operations
  • Transactions
  • Governance
  • Utils
  • Service management
  1. Testnet
  2. Persistence

Cheat Sheet

Wallet operations

Create wallet

⚠️ store seed phrase, important during recovering

persistenceCore keys add <YOUR_WALLET_NAME>

Recover wallet

⚠️ store seed phrase, important during recovering

persistenceCore keys add <YOUR_WALLET_NAME> --recover

List of all wallets

persistenceCore keys list

Delete wallet

persistenceCore keys delete <YOUR_WALLET_NAME>

Export wallet

⚠️ save to wallet.backup

persistenceCore keys export <YOUR_WALLET_NAME>

Import wallet

persistenceCore keys import <WALLET_NAME> wallet.backup

Check wallet balance

persistenceCore q bank balances $(persistenceCore keys show <YOUR_WALLET_NAME> -a)

Validator operations

Create validator

persistenceCore tx staking create-validator \
--amount=1000000uxprt \
--pubkey=$(persistenceCore tendermint show-validator) \
--moniker="<Your moniker>" \
--identity=<Your identity> \
--details="<Your details>" \
--chain-id=test-core-2 \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.1 \
--min-self-delegation=1 \
--from=<YOUR_WALLET> \
--gas-prices=0.025uxprt \
--gas-adjustment=1.4 \
--gas=auto \
-y

Edit validator

persistenceCore tx staking edit-validator \
--new-moniker="<Your moniker>" \
--identity=<your identity> \
--details="<Your details>" \
--commission-rate=0.1 \
--from=<YOUR_WALLET> \
--gas-prices=0.025uxprt \
--gas-adjustment=1.4 \
--gas=auto \
-y

Unjail your validator

persistenceCore tx slashing unjail --from <YOUR_WALLET> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Check blocks info processed by your validator

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

List of active validators

persistenceCore 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

List of inactive validators

persistenceCore q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED") or .status=="BOND_STATUS_UNBONDING")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl

Info about your validator

persistenceCore q staking validator $(persistenceCore keys show <YOUR_WALLET_NAME> --bech val -a)

Transactions

Get your rewards from all validators

persistenceCore tx distribution withdraw-all-rewards --from <YOUR_WALLET> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Get rewards and commissions from your validator

persistenceCore tx distribution withdraw-rewards $(persistenceCore keys show <YOUR_WALLET_NAME> --bech val -a) --commission --from <YOUR_WALLET> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Delegate tokens to your validator

persistenceCore tx staking delegate $(persistenceCore keys show <YOUR_WALLET_NAME> --bech val -a) 1000000uxprt --from <YOUR_WALLET> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Delegate tokens to validator

persistenceCore tx staking delegate <VALOPER_ADDRESS> 1000000uxprt --from <YOUR_WALLET> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Redelegate tokens to another validator

persistenceCore tx staking redelegate <SRC_VALOPER_ADDRESS> <TARGET_VALOPER_ADDRESS> 1000000uxprt --from <WALLET> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Unbound tokens from validator

⚠️ it’s can take a while, ~21 days, depends on network’s parameters

persistenceCore tx staking unbond <VALOPER_ADDRESS> 1000000uxprt --from <YOUR_WALLET> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Send tokens to another wallet

persistenceCore tx bank send <YOUR_WALLET_ADDRESS> <TARGET_WALLET_ADDRESS> 1000000uxprt --from <YOUR_WALLET_ADDRESS> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Check info about transaction by hash TX_HASH

persistenceCore query tx <TX_HASH>

Governance

Submit text proposal

persistenceCore tx gov submit-proposal \
--title="<Your Title>" \
--description="<Your Description>" \
--deposit=1000000uxprt \
--type="Text" \
--from=<WALLET_ADDRESS> \
--gas-prices=0.025uxprt \
--gas-adjustment=1.4 \
--gas=auto \
-y

List of all proposals

persistenceCore query gov proposals

Check proposal info by proposal id

persistenceCore query gov proposal <proposal_id>

Deposit proposal by proposal id

persistenceCore tx gov deposit 1 1000000uxprt --from <YOUR_WALLET> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Vote as, YES

persistenceCore tx gov vote 1 yes --from <YOUR_WALLET> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Vote as, NO

persistenceCore tx gov vote 1 no --from <YOUR_WALLET> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Vote as, NO_WITH_VETO

persistenceCore tx gov vote 1 no_with_veto --from <YOUR_WALLET> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Vote as, ABSTAIN

persistenceCore tx gov vote 1 abstain --from <YOUR_WALLET> --gas-prices 0.025uxprt --gas-adjustment 1.4 --gas auto -y

Utils

Change ports to custom

sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:36658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:36657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:7060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:36656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":36660\"%" $HOME/.persistenceCore/config/config.toml && \
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:10090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:10091\"%; s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:2317\"%" $HOME/.persistenceCore/config/app.toml && \
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:36657\"%" $HOME/.persistenceCore/config/client.toml

Turn on indexing

sed -i 's|^indexer *=.*|indexer = "kv"|' $HOME/.persistenceCore/config/config.toml

Turn off indexing

sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.persistenceCore/config/config.toml

Setup custom prunning

APP_TOML="~/.persistenceCore/config/app.toml"
sed -i 's|^pruning *=.*|pruning = "custom"|' $APP_TOML
sed -i 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' $APP_TOML
sed -i 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' $APP_TOML
sed -i 's|^pruning-interval *=.*|pruning-interval = "10"|' $APP_TOML

Check your peer

echo $(persistenceCore tendermint show-node-id)@$(curl http://ifconfig.me/)$(grep -A 3 "\[p2p\]" ~/.persistenceCore/config/config.toml | egrep -o ":[0-9]+")

Check your RPC

echo -e "\033[0;32m$(grep -A 3 "\[rpc\]" ~/.persistenceCore/config/config.toml | egrep -o ":[0-9]+")\033[0m"

Check information about validator

persistenceCore status 2>&1 | jq .ValidatorInfo

Check synchronisation status (false - synced, true - not synced)

persistenceCore status 2>&1 | jq .SyncInfo.catching_up

Check the latest block

persistenceCore status 2>&1 | jq .SyncInfo.latest_block_height

Reset network

persistenceCore tendermint unsafe-reset-all --home $HOME/.persistenceCore --keep-addr-book

Delete node

sudo systemctl stop persistenceCore && \
sudo systemctl disable persistenceCore && \
sudo rm /etc/systemd/system/persistenceCore.service && \
sudo systemctl daemon-reload && \
rm -rf $HOME/.persistenceCore && \
rm -rf $HOME/persistenceCore

Check IP address of the server

wget -qO- eth0.me

Check network parameters

persistenceCore q staking params
persistenceCore q slashing params

Check validator private key is correct

[[ $(persistenceCore q staking validator $(persistenceCore keys show <YOUR_WALLET> --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(persistenceCore status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\n\e[1m\e[32mTrue\e[0m\n" || echo -e "\n\e[1m\e[31mFalse\e[0m\n"

Search all output transactions by address

persistenceCore q txs --events transfer.sender=<ADDRESS> 2>&1 | jq | grep txhash

Search all input transactions by address

persistenceCore q txs --events transfer.recipient=<ADDRESS> 2>&1 | jq | grep txhash

Service management

Reload services

sudo systemctl daemon-reload

Enable service

sudo systemctl enable persistenceCore

Disable service

sudo systemctl disable persistenceCore

Start service

sudo systemctl start persistenceCore

Stop service

sudo systemctl stop persistenceCore

Restart service

sudo systemctl restart persistenceCore

Check service status

sudo systemctl status persistenceCore

Check service logs

sudo journalctl -u persistenceCore -f -o cat
PreviousPublic APINextPrysm

Last updated 1 year ago

Page cover image