Key management
Add new key
KEY_ALIAS="keysha"; namada wallet key gen --alias $KEY_ALIAS
Recover existing key
namada wallet key restore --alias $KEY_ALIAS --hd-path default
List all keys
namada wallet key list
Query wallet balance
namada client balance --owner $KEY_ALIAS
Add some token using faucet
https://faucet.heliax.click/
Multisign
Generate key-1
namadaw key gen --alias my-key1
Generate key-2
namadaw key gen --alias my-key2
Generate implicit address
namadaw address gen --alias my-address
init non-multisig account (single signer)
namadac init-account --alias my-multisig-alias --public-keys my-key1 --signing-keys my-key1
init multisig account (at least 2 signers)
namadac init-account --alias my-multisig-alias --public-keys my-key1,my-key2 --signing-keys my-key1,my-key2 --threshold 2
Submitting a multisignature transaction
Create transaction
namadac transfer --source my-multisig-alias --target some-established-account-alias --token NAM --amount 100 --signing-keys my-key1 --dump-tx --output-folder-path tx_dumps
Signing transaction
namadac transfer --source my-multisig-alias --target some-established-account-alias --token NAM --amount 100 --signing-keys my-key1 --dump-tx --output-folder-path tx_dumps
Save as a variable offline_signature
export SIGNATURE_ONE="offline_signature_FB7246E3FC43F59D8AEEC234EBFDB9DF1AC9BB7B14E536D05A7E2617CA41D4CD_0.tx"
Submit Transaction
namadac tx --tx-path "tx_dumps/a45ef98a817290d6fc0efbd480bf66647ea8061aee1628ce09b4af4f4eeed1c2.tx" --signatures $SIGNATURE_ONE --signatures $SIGNATURE_TWO --owner my-multisig-alias --gas-payer my-key1
Change the multisig threshold
namadac update-account --address my-multisig-address --threshold 1 --signing-keys my-key1,my-key2
Check the threshold has been updated
namadac query-account --owner my-multisig-address
Change the public keys of a multisig account
namadac query-account --owner my-multisig-address
Initialize an established account
namada client init-account --alias establishment --public-keys keysha --signing-keys keysha --threshold 1
MASP
Randomly generate a new spending key
namadaw masp gen-key --alias <your-spending-key-alias>
Create a new payment address
namadaw masp gen-addr --key <your-spending-key-alias> --alias <your-payment-address-alias>
Send your shielding transfer
namadac transfer --source <your-established-account-alias> --target <your-payment-address-alias> --token btc --amount <amount-to-shield>
View balance
namadac balance --owner <your-spending-key-alias>
Shielded transfer (once the user has a shielded balance, it can be transferred to another shielded address)
namadac transfer --source <your-spending-key-alias> --target <destination-payment-address> --token btc --amount <amount-to-transfer> --signing-keys <your-implicit-account-alias>
Unshielding transfers (it is also possible to transfer the balance to a transparent account)
namadac transfer --source <your-spending-key-alias> --target <some-transparent-address-alias> --token btc --amount <amount-to-unshield> --signing-keys <your-implicit-account-alias>
Validator Operations
Check sync status and node info
curl http://127.0.0.1:26657/status | jq
Stake funds
namada client bond --validator $ALIAS --amount 1500 --gas-limit 10000000
Check your validator bond status
namada client bonds --owner $ALIAS
Check all bonded nodes
namada client bonded-stake
Find all the slashes
namada client slashes
Self Unbonding
namada client unbond --validator $ALIAS --amount 0.3
Non-self unbonding
namada client unbond --source aliace --validator $ALIAS --amount 1.2
Withdrawing unbonded tokens
namada client withdraw --source aliace --validator $ALIAS
Sync and Consensus
Check logs
sudo journalctl -u namadad -f
Check sync status and node info
curl http://127.0.0.1:26657/status | jq
Check consensus state
curl -s localhost:26657/consensus_state | jq .result.round_state.height_vote_set[0].prevotes_bit_array
Full consensus state
curl -s localhost:12657/dump_consensus_state
Your validator votes (prevote)
curl -s http://localhost:26657/dump_consensus_state | jq '.result.round_state.votes[0].prevotes' | grep $(curl -s http://localhost:26657/status | jq -r '.result.validator_info.address[:12]')
🚨 Maintenance
Remove node
Please, before proceeding with the next step! All chain data will be lost! Make sure you have backed up your priv_validator_key.json !
sudo systemctl stop namadad
sudo systemctl disable namadad
sudo rm -rf /etc/systemd/system/namadad.service
sudo systemctl daemon-reload
sudo rm $(which namada)
sudo rm -rf $HOME/.local/share/namada/public-testnet-15.0dacadb8d663