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. Prysm

Cheat Sheet

Wallet operations

Create wallet

⚠️ store seed phrase, important during recovering

prysmd keys add <YOUR_WALLET_NAME>

Recover wallet

⚠️ store seed phrase, important during recovering

prysmd keys add <YOUR_WALLET_NAME> --recover

List of all wallets

prysmd keys list

Delete wallet

prysmd keys delete <YOUR_WALLET_NAME>

Export wallet

⚠️ save to wallet.backup

prysmd keys export <YOUR_WALLET_NAME>

Import wallet

prysmd keys import <WALLET_NAME> wallet.backup

Check wallet balance

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

Validator operations

Create validator

prysmd tx staking create-validator \
--amount=1000000uprysm \
--pubkey=$(prysmd tendermint show-validator) \
--moniker="<Your moniker>" \
--identity=<Your identity> \
--details="<Your details>" \
--chain-id=prysm-devnet-1 \
--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.0002uprysm \
--gas-adjustment=1.6 \
--gas=auto \
-y

Edit validator

prysmd tx staking edit-validator \
--new-moniker="<Your moniker>" \
--identity=<your identity> \
--details="<Your details>" \
--commission-rate=0.1 \
--from=<YOUR_WALLET> \
--gas-prices=0.0002uprysm \
--gas-adjustment=1.6 \
--gas=auto \
-y

Unjail your validator

prysmd tx slashing unjail --from <YOUR_WALLET> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --gas auto -y

Check blocks info processed by your validator

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

List of active validators

prysmd 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

prysmd 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

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

Transactions

Get your rewards from all validators

prysmd tx distribution withdraw-all-rewards --from <YOUR_WALLET> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --gas auto -y

Get rewards and commissions from your validator

prysmd tx distribution withdraw-rewards $(prysmd keys show <YOUR_WALLET_NAME> --bech val -a) --commission --from <YOUR_WALLET> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --gas auto -y

Delegate tokens to your validator

prysmd tx staking delegate $(prysmd keys show <YOUR_WALLET_NAME> --bech val -a) 1000000uprysm --from <YOUR_WALLET> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --gas auto -y

Delegate tokens to validator

prysmd tx staking delegate <VALOPER_ADDRESS> 1000000uprysm --from <YOUR_WALLET> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --gas auto -y

Redelegate tokens to another validator

prysmd tx staking redelegate <SRC_VALOPER_ADDRESS> <TARGET_VALOPER_ADDRESS> 1000000uprysm --from <WALLET> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --gas auto -y

Unbound tokens from validator

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

prysmd tx staking unbond <VALOPER_ADDRESS> 1000000uprysm --from <YOUR_WALLET> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --gas auto -y

Send tokens to another wallet

prysmd tx bank send <YOUR_WALLET_ADDRESS> <TARGET_WALLET_ADDRESS> 1000000uprysm --from <YOUR_WALLET_ADDRESS> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --gas auto -y

Check info about transaction by hash TX_HASH

prysmd query tx <TX_HASH>

Governance

Submit text proposal

prysmd tx gov submit-proposal \
--title="<Your Title>" \
--description="<Your Description>" \
--deposit=1000000uprysm \
--type="Text" \
--from=<WALLET_ADDRESS> \
--gas-prices=0.0002uprysm \
--gas-adjustment=1.6 \
--gas=auto \
-y

List of all proposals

prysmd query gov proposals

Check proposal info by proposal id

prysmd query gov proposal <proposal_id>

Deposit proposal by proposal id

prysmd tx gov deposit 1 1000000uprysm --from <YOUR_WALLET> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --gas auto -y

Vote as, YES

prysmd tx gov vote 1 yes --from <YOUR_WALLET> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --gas auto -y

Vote as, NO

prysmd tx gov vote 1 no --from <YOUR_WALLET> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --gas auto -y

Vote as, NO_WITH_VETO

prysmd tx gov vote 1 no_with_veto --from <YOUR_WALLET> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --gas auto -y

Vote as, ABSTAIN

prysmd tx gov vote 1 abstain --from <YOUR_WALLET> --gas-prices 0.0002uprysm --gas-adjustment 1.6 --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/.prysm/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/.prysm/config/app.toml && \
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:36657\"%" $HOME/.prysm/config/client.toml

Turn on indexing

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

Turn off indexing

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

Setup custom prunning

APP_TOML="~/.prysm/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 $(prysmd tendermint show-node-id)@$(curl http://ifconfig.me/)$(grep -A 3 "\[p2p\]" ~/.prysm/config/config.toml | egrep -o ":[0-9]+")

Check your RPC

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

Check information about validator

prysmd status 2>&1 | jq .ValidatorInfo

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

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

Check the latest block

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

Reset network

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

Delete node

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

Check IP address of the server

wget -qO- eth0.me

Check network parameters

prysmd q staking params
prysmd q slashing params

Check validator private key is correct

[[ $(prysmd q staking validator $(prysmd keys show <YOUR_WALLET> --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(prysmd 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

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

Search all input transactions by address

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

Service management

Reload services

sudo systemctl daemon-reload

Enable service

sudo systemctl enable prysmd

Disable service

sudo systemctl disable prysmd

Start service

sudo systemctl start prysmd

Stop service

sudo systemctl stop prysmd

Restart service

sudo systemctl restart prysmd

Check service status

sudo systemctl status prysmd

Check service logs

sudo journalctl -u prysmd -f -o cat
PreviousPublic APINextQuicksilver

Last updated 7 months ago

Page cover image