Wallet operations
Create wallet
⚠️ store seed phrase, important during recovering
archwayd keys add <YOUR_WALLET_NAME>
Recover wallet
⚠️ store seed phrase, important during recovering
archwayd keys add <YOUR_WALLET_NAME> --recover
List of all wallets
Delete wallet
archwayd keys delete <YOUR_WALLET_NAME>
Export wallet
⚠️ save to wallet.backup
archwayd keys export <YOUR_WALLET_NAME>
Import wallet
archwayd keys import <WALLET_NAME> wallet.backup
Check wallet balance
archwayd q bank balances $(archwayd keys show <YOUR_WALLET_NAME> -a)
Validator operations
Create validator
archwayd tx staking create-validator \
--amount=1000000000000000000aconst \
--pubkey=$(archwayd tendermint show-validator) \
--moniker="<Your moniker>" \
--identity=<Your identity> \
--details="<Your details>" \
--chain-id=constantine-3 \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.1 \
--min-self-delegation=1 \
--from=<YOUR_WALLET> \
--gas-prices=1000000000000aconst \
--gas-adjustment=1.4 \
--gas=auto \
-y
Edit validator
archwayd tx staking edit-validator \
--new-moniker="<Your moniker>" \
--identity=<your identity> \
--details="<Your details>" \
--commission-rate=0.1 \
--from=<YOUR_WALLET> \
--gas-prices=1000000000000aconst \
--gas-adjustment=1.4 \
--gas=auto \
-y
Unjail your validator
archwayd tx slashing unjail --from <YOUR_WALLET> --gas-prices 1000000000000aconst --gas-adjustment 1.4 --gas auto -y
Check blocks info processed by your validator
archwayd query slashing signing-info $(archwayd tendermint show-validator)
List of active validators
archwayd 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
archwayd 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
archwayd q staking validator $(archwayd keys show <YOUR_WALLET_NAME> --bech val -a)
Transactions
Get your rewards from all validators
archwayd tx distribution withdraw-all-rewards --from <YOUR_WALLET> --gas-prices 1000000000000aconst --gas-adjustment 1.4 --gas auto -y
Get rewards and commissions from your validator
archwayd tx distribution withdraw-rewards $(archwayd keys show <YOUR_WALLET_NAME> --bech val -a) --commission --from <YOUR_WALLET> --gas-prices 1000000000000aconst --gas-adjustment 1.4 --gas auto -y
Delegate tokens to your validator
archwayd tx staking delegate $(archwayd keys show <YOUR_WALLET_NAME> --bech val -a) 1000000000000000000aconst --from <YOUR_WALLET> --gas-prices 1000000000000aconst --gas-adjustment 1.4 --gas auto -y
Delegate tokens to validator
archwayd tx staking delegate <VALOPER_ADDRESS> 1000000000000000000aconst --from <YOUR_WALLET> --gas-prices 1000000000000aconst --gas-adjustment 1.4 --gas auto -y
Redelegate tokens to another validator
archwayd tx staking redelegate <SRC_VALOPER_ADDRESS> <TARGET_VALOPER_ADDRESS> 1000000000000000000aconst --from <WALLET> --gas-prices 1000000000000aconst --gas-adjustment 1.4 --gas auto -y
Unbound tokens from validator
⚠️ it’s can take a while, ~21 days, depends on network’s parameters
archwayd tx staking unbond <VALOPER_ADDRESS> 1000000000000000000aconst --from <YOUR_WALLET> --gas-prices 1000000000000aconst --gas-adjustment 1.4 --gas auto -y
Send tokens to another wallet
archwayd tx bank send <YOUR_WALLET_ADDRESS> <TARGET_WALLET_ADDRESS> 1000000000000000000aconst --from <YOUR_WALLET_ADDRESS> --gas-prices 1000000000000aconst --gas-adjustment 1.4 --gas auto -y
Check info about transaction by hash TX_HASH
archwayd query tx <TX_HASH>
Governance
Submit text proposal
archwayd tx gov submit-proposal \
--title="<Your Title>" \
--description="<Your Description>" \
--deposit=1000000000000000000aconst \
--type="Text" \
--from=<WALLET_ADDRESS> \
--gas-prices=1000000000000aconst \
--gas-adjustment=1.4 \
--gas=auto \
-y
List of all proposals
archwayd query gov proposals
Check proposal info by proposal id
archwayd query gov proposal <proposal_id>
Deposit proposal by proposal id
archwayd tx gov deposit 1 1000000000000000000aconst --from <YOUR_WALLET> --gas-prices 1000000000000aconst --gas-adjustment 1.4 --gas auto -y
Vote as, YES
archwayd tx gov vote 1 yes --from <YOUR_WALLET> --gas-prices 1000000000000aconst --gas-adjustment 1.4 --gas auto -y
Vote as, NO
archwayd tx gov vote 1 no --from <YOUR_WALLET> --gas-prices 1000000000000aconst --gas-adjustment 1.4 --gas auto -y
Vote as, NO_WITH_VETO
archwayd tx gov vote 1 no_with_veto --from <YOUR_WALLET> --gas-prices 1000000000000aconst --gas-adjustment 1.4 --gas auto -y
Vote as, ABSTAIN
archwayd tx gov vote 1 abstain --from <YOUR_WALLET> --gas-prices 1000000000000aconst --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/.archway/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/.archway/config/app.toml && \
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:36657\"%" $HOME/.archway/config/client.toml
Turn on indexing
sed -i 's|^indexer *=.*|indexer = "kv"|' $HOME/.archway/config/config.toml
Turn off indexing
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.archway/config/config.toml
Setup custom prunning
APP_TOML="~/.archway/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 $(archwayd tendermint show-node-id)@$(curl http://ifconfig.me/)$(grep -A 3 "\[p2p\]" ~/.archway/config/config.toml | egrep -o ":[0-9]+")
Check your RPC
echo -e "\033[0;32m$(grep -A 3 "\[rpc\]" ~/.archway/config/config.toml | egrep -o ":[0-9]+")\033[0m"
Check information about validator
archwayd status 2>&1 | jq .ValidatorInfo
Check synchronisation status (false - synced, true - not synced)
archwayd status 2>&1 | jq .SyncInfo.catching_up
Check the latest block
archwayd status 2>&1 | jq .SyncInfo.latest_block_height
Reset network
archwayd tendermint unsafe-reset-all --home $HOME/.archway --keep-addr-book
Delete node
sudo systemctl stop archwayd && \
sudo systemctl disable archwayd && \
sudo rm /etc/systemd/system/archwayd.service && \
sudo systemctl daemon-reload && \
rm -rf $HOME/.archway && \
rm -rf $HOME/archway
Check IP address of the server
Check network parameters
archwayd q staking params
archwayd q slashing params
Check validator private key is correct
[[ $(archwayd q staking validator $(archwayd keys show <YOUR_WALLET> --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(archwayd 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
archwayd q txs --events transfer.sender=<ADDRESS> 2>&1 | jq | grep txhash
Search all input transactions by address
archwayd q txs --events transfer.recipient=<ADDRESS> 2>&1 | jq | grep txhash
Service management
Reload services
sudo systemctl daemon-reload
Enable service
sudo systemctl enable archwayd
Disable service
sudo systemctl disable archwayd
Start service
sudo systemctl start archwayd
Stop service
sudo systemctl stop archwayd
Restart service
sudo systemctl restart archwayd
Check service status
sudo systemctl status archwayd
Check service logs
sudo journalctl -u archwayd -f -o cat
Last updated