Push Chain Cheat Sheet and Key Management
This guide provides essential commands for managing wallets, nodes, and validators on the Push Chain network. Make sure the environment variables mentioned at the end are correctly configured before using these commands.
1. Key Management
Create a New Wallet
pchaind keys add $WALLETKeep the generated seed phrase safe. It is the only way to recover your wallet.
Recover Wallet from Seed Phrase
pchaind keys add $WALLET --recoverYou will be prompted to enter your seed phrase.
List Wallets
pchaind keys listShow Wallet Details
pchaind keys show $WALLETDelete Wallet
pchaind keys delete $WALLET2. Wallet Operations
Check Balance
pchaind query bank balances $(pchaind keys show $WALLET -a)Send Tokens
pchaind tx bank send $(pchaind keys show $WALLET -a) <receiver_wallet_address> <amount><denom> --chain-id $PUSH_CHAIN_ID --gas-prices 1000000000upc --gas-adjustment 1.5 --gas auto -yExample:
pchaind tx bank send $(pchaind keys show $WALLET -a) push1...yyy 1000000upc --chain-id $PUSH_CHAIN_ID --gas-prices 1000000000upc --gas-adjustment 1.5 --gas auto -yReplace <amount> with the number of tokens and <denom> with the token denomination (e.g., upc).
3. Validator Management
Ensure you have enough upc tokens for self-delegation and transaction fees before creating a validator.
Create Validator
Configuration
Generated Command
pchaind tendermint show-validator > $HOME/.pchain/validator_pubkey.json
cat <<EOF > $HOME/.pchain/validator.json
{
"pubkey": $(cat $HOME/.pchain/validator_pubkey.json),
"amount": "1000000000000000000upc",
"moniker": "",
"identity": "",
"website": "",
"security": "",
"details": "🚀 Built by node runners.",
"commission-rate": "0.1",
"commission-max-rate": "0.20",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}
EOF
pchaind tx staking create-validator $HOME/.pchain/validator.json \
--from=$WALLET \
--chain-id=push_42101-1 \
--gas=auto \
--gas-prices=1000000000upc \
--gas-adjustment=1.4 \
--home ~/.pchain \
-yParameter Explanation:
| Parameter | Details |
|---|---|
--amount | Tokens self-delegated to the validator. 1000000000000000000upc = 1 PC |
--from | Wallet used for the transaction. |
--commission-rate | Initial commission rate. |
--commission-max-rate | Maximum allowed commission rate. |
--commission-max-change-rate | Max daily commission change. |
--min-self-delegation | Minimum tokens for self-delegation. |
--pubkey | Validator's public key. |
--moniker | Validator nickname. |
--identity | Keybase ID for identity verification. |
--website | Validator's website URL. |
--details | Validator description. |
--security-contact | Email for security-related contact. |
Edit Validator
pchaind tx staking edit-validator \
--moniker "$MONIKER" \
--identity "<new_keybase_id>" \
--website "<new_website>" \
--security-contact "<new_contact_email>" \
--details "<new_description>" \
--commission-rate "0.07" \
--chain-id $PUSH_CHAIN_ID \
--gas-prices 1000000000upc \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-yDelegate Tokens
pchaind tx staking delegate $(pchaind keys show $WALLET --bech val -a) <amount>upc \
--chain-id $PUSH_CHAIN_ID \
--gas-prices 1000000000upc \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-yWithdraw Rewards (Delegator)
pchaind tx distribution withdraw-rewards $(pchaind keys show $WALLET --bech val -a) \
--chain-id $PUSH_CHAIN_ID \
--gas-prices 1000000000upc \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-yWithdraw Rewards (Validator Commission)
pchaind tx distribution withdraw-rewards $(pchaind keys show $WALLET --bech val -a) --commission \
--chain-id $PUSH_CHAIN_ID \
--gas-prices 1000000000upc \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-yUnbond Tokens
pchaind tx staking unbond $(pchaind keys show $WALLET --bech val -a) <amount>upc \
--chain-id $PUSH_CHAIN_ID \
--gas-prices 1000000000upc \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-yRedelegate Tokens
pchaind tx staking redelegate $(pchaind keys show $WALLET --bech val -a) <destination_validator_address> <amount>upc \
--chain-id $PUSH_CHAIN_ID \
--gas-prices 1000000000upc \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-y4. Node Status & Info
Check Sync Status
pchaind status 2>&1 | jq .result.sync_infoCheck Peer Info
pchaind status 2>&1 | jq .result.sync_info.catching_up
pchaind status 2>&1 | jq .result.node_info.listen_addrShow Node ID
pchaind tendermint show-node-idRestart Node
sudo systemctl restart pchaindView Node Logs
sudo journalctl -u pchaind -fo cat5. Governance
List Proposals
pchaind query gov proposalsView Proposal Details
pchaind query gov proposal <proposal_id>Vote on Proposal
pchaind tx gov vote <proposal_id> <yes|no|no_with_veto|abstain> \
--chain-id $PUSH_CHAIN_ID \
--gas-prices 1000000000upc \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-y6. Environment Variables
Make sure to set these in your ~/.bash_profile or equivalent shell config:
export WALLET="wallet"
export MONIKER="YourMoniker"
export PUSH_CHAIN_ID="push_42101-1"
export PUSH_PORT="10"Apply the changes with:
source ~/.bash_profileThis cheat sheet is provided to streamline Push Chain validator and wallet management.
