Skip to content
All services

Testnet

Structs

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

    structsd keys add $WALLET
  2. Recover a key

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

    structsd keys list
  4. Wallet balance

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

Validator

  1. Create a validator

    cat > $HOME/validator.json << EOF
    {
      "pubkey": $(structsd comet show-validator),
      "amount": "1000000ualpha",
      "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
    structsd tx staking create-validator $HOME/validator.json --from $WALLET --chain-id $STRUCTS_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0ualpha -y
  2. Edit the validator

    structsd tx staking edit-validator --new-moniker "$MONIKER" --identity "" --website "" --details "" --from $WALLET --chain-id $STRUCTS_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0ualpha -y
  3. Unjail

    structsd tx slashing unjail --from $WALLET --chain-id $STRUCTS_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0ualpha -y
  4. Validator details

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

Tokens

  1. Withdraw all rewards

    structsd tx distribution withdraw-all-rewards --from $WALLET --chain-id $STRUCTS_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0ualpha -y
  2. Withdraw commission and rewards

    structsd tx distribution withdraw-rewards $(structsd keys show $WALLET --bech val -a) --commission --from $WALLET --chain-id $STRUCTS_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0ualpha -y
  3. Delegate to yourself

    structsd tx staking delegate $(structsd keys show $WALLET --bech val -a) 1000000ualpha --from $WALLET --chain-id $STRUCTS_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0ualpha -y
  4. Redelegate

    structsd tx staking redelegate $(structsd keys show $WALLET --bech val -a) <TO_VALOPER> 1000000ualpha --from $WALLET --chain-id $STRUCTS_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0ualpha -y
  5. Unbond

    structsd tx staking unbond $(structsd keys show $WALLET --bech val -a) 1000000ualpha --from $WALLET --chain-id $STRUCTS_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0ualpha -y
  6. Send tokens

    structsd tx bank send $WALLET <TO_ADDRESS> 1000000ualpha --chain-id $STRUCTS_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0ualpha -y

Governance

  1. List proposals

    structsd q gov proposals
  2. View a proposal

    structsd q gov proposal <ID>
  3. Vote

    structsd tx gov vote <ID> yes --from $WALLET --chain-id $STRUCTS_CHAIN_ID --gas auto --gas-adjustment 1.5 --gas-prices 0ualpha -y
    # yes | no | abstain | no_with_veto

Maintenance

  1. Node status

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

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

    curl -s localhost:$STRUCTS_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

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

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

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

Service

  1. Service status

    sudo systemctl status structsd
  2. Follow logs

    sudo journalctl -fu structsd -o cat
  3. Restart

    sudo systemctl restart structsd
  4. Stop

    sudo systemctl stop structsd