Skip to content
All services

Testnet

Safrochain

Chain ID
Version
Go

Run these after the install guide, which sets $WALLET, $MONIKER and the chain variables.

Keys and wallet

  1. Add a new key

    safrochaind keys add $WALLET
  2. Recover a key

    safrochaind keys add $WALLET --recover
  3. List keys

    safrochaind keys list
  4. Wallet balance

    safrochaind q bank balances $(safrochaind keys show $WALLET -a)

Validator

  1. Create a validator

    cat > $HOME/validator.json << EOF
    {
      "pubkey": $(safrochaind comet show-validator),
      "amount": "1000000usaf",
      "moniker": "$MONIKER",
      "identity": "",
      "website": "",
      "security": "",
      "details": "",
      "commission-rate": "0.05",
      "commission-max-rate": "0.20",
      "commission-max-change-rate": "0.05",
      "min-self-delegation": "1"
    }
    EOF
    safrochaind tx staking create-validator $HOME/validator.json --from $WALLET --chain-id $SAF_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0.001usaf -y
  2. Edit the validator

    safrochaind tx staking edit-validator --new-moniker "$MONIKER" --identity "" --website "" --details "" --from $WALLET --chain-id $SAF_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0.001usaf -y
  3. Unjail

    safrochaind tx slashing unjail --from $WALLET --chain-id $SAF_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0.001usaf -y
  4. Validator details

    safrochaind q staking validator $(safrochaind keys show $WALLET --bech val -a)

Tokens

  1. Withdraw all rewards

    safrochaind tx distribution withdraw-all-rewards --from $WALLET --chain-id $SAF_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0.001usaf -y
  2. Withdraw commission and rewards

    safrochaind tx distribution withdraw-rewards $(safrochaind keys show $WALLET --bech val -a) --commission --from $WALLET --chain-id $SAF_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0.001usaf -y
  3. Delegate to yourself

    safrochaind tx staking delegate $(safrochaind keys show $WALLET --bech val -a) 1000000usaf --from $WALLET --chain-id $SAF_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0.001usaf -y
  4. Redelegate

    safrochaind tx staking redelegate $(safrochaind keys show $WALLET --bech val -a) <TO_VALOPER> 1000000usaf --from $WALLET --chain-id $SAF_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0.001usaf -y
  5. Unbond

    safrochaind tx staking unbond $(safrochaind keys show $WALLET --bech val -a) 1000000usaf --from $WALLET --chain-id $SAF_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0.001usaf -y
  6. Send tokens

    safrochaind tx bank send $WALLET <TO_ADDRESS> 1000000usaf --chain-id $SAF_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0.001usaf -y

Governance

  1. List proposals

    safrochaind q gov proposals
  2. View a proposal

    safrochaind q gov proposal <ID>
  3. Vote

    safrochaind tx gov vote <ID> yes --from $WALLET --chain-id $SAF_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0.001usaf -y
    # yes | no | abstain | no_with_veto

Maintenance

  1. Node status

    safrochaind status 2>&1 | jq
  2. Node peer address

    echo $(safrochaind comet show-node-id)@$(wget -qO- eth0.me):$SAF_PORT656
  3. Live peers

    curl -s localhost:$SAF_PORT657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr | split(":") | last)"' | paste -sd,
  4. Check the validator key

    [[ $(safrochaind q staking validator $(safrochaind keys show $WALLET --bech val -a) -o json | jq -r .validator.consensus_pubkey.value) = $(safrochaind comet show-validator | jq -r .key) ]] && echo "match" || echo "MISMATCH"
  5. Reset chain data

    safrochaind comet unsafe-reset-all --keep-addr-book --home $HOME/.safrochain
  6. Remove the node

    sudo systemctl stop safrochaind
    sudo systemctl disable safrochaind
    sudo rm /etc/systemd/system/safrochaind.service
    sudo systemctl daemon-reload
    rm -rf $HOME/.safrochain $(which safrochaind)

Service

  1. Service status

    sudo systemctl status safrochaind
  2. Follow logs

    sudo journalctl -fu safrochaind -o cat
  3. Restart

    sudo systemctl restart safrochaind
  4. Stop

    sudo systemctl stop safrochaind