Chain ID: structstestnet-101
| Node Version: v0.6.0-beta
note
First You Need Set Variabels
MONIKER=<YOUR_MONIKER_NAME>
echo "export MONIKER=$MONIKER" >> $HOME/.bash_profile
echo "export STRUCTS_CHAIN_ID="structstestnet-101"" >> $HOME/.bash_profile
source $HOME/.bash_profile
- Wallet
- Validator
- Token
- Service
- Governance
- Utility
- Delete
Wallet
Create Wallet
structsd keys add wallet
Recovery Wallet
structsd keys add wallet --recover
List All Wallet
structsd keys list
Delete Wallet
structsd keys delete wallet
Check Wallet Balance
structsd q bank balances $(structsd keys show wallet -a)
Validator
note
Make sure you have adjust YOUR_KEYBASE_ID, YOUR_DETAILS, YOUR_WEBSITE_URL
Create Validator
structsd tx staking create-validator \
--amount=1000000agnet \
--pubkey=$(structsd tendermint show-validator) \
--moniker=$MONIKER \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL" \
--chain-id=$STRUCTS_CHAIN_ID \
--commission-rate=0.10 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1000 \
--from=wallet \
--gas-adjustment=1.5 \
--gas="auto" \
--gas-prices=0alpha
Edit Validator
structsd tx staking edit-validator \
--new-moniker="YOUR MONIKER" \
--identity="IDENTITY KEYBASE" \
--details="DETAILS VALIDATOR" \
--website="LINK WEBSITE" \
--chain-id=$STRUCTS_CHAIN_ID \
--from=wallet \
--gas-adjustment=1.5 \
--gas="auto" \
--gas-prices=0alpha
Check Jailed Reason
structsd query slashing signing-info $(structsd tendermint show-validator)
Unjail Validator
structsd tx slashing unjail --from wallet --chain-id $STRUCTS_CHAIN_ID --gas-adjustment 1.5 --gas auto --gas-prices 0alpha -y
Token
Withdraw Rewards
structsd tx distribution withdraw-all-rewards --from wallet --chain-id $STRUCTS_CHAIN_ID --gas-adjustment 1.5 --gas auto --gas-prices 0alpha -y
Withdraw Rewards with Comission
structsd tx distribution withdraw-rewards $(structsd keys show wallet --bech val -a) --commission --from wallet --chain-id $STRUCTS_CHAIN_ID --gas-adjustment 1.5 --gas auto --gas-prices 0alpha -y
Delegate Tokens to Your Validator
structsd tx staking delegate $(structsd keys show wallet --bech val -a) 100000agnet --from wallet --chain-id $STRUCTS_CHAIN_ID --gas-adjustment 1.5 --gas auto --gas-prices 0alpha -y
Redelegate Tokens to Another Validator
structsd tx staking redelegate $(structsd keys show wallet --bech val -a) <TO_VALOPER_ADDRESS> 100000agnet --from wallet --chain-id $STRUCTS_CHAIN_ID --gas-adjustment 1.5 --gas auto --gas-prices 0alpha -y
Unbond Tokens from Your Validator
structsd tx staking unbond $(structsd keys show wallet --bech val -a) 100000agnet --from wallet --chain-id $STRUCTS_CHAIN_ID --gas-adjustment 1.5 --gas auto --gas-prices 0alpha -y
Send Tokens to Any Wallet
structsd tx bank send wallet <TO_WALLET_ADDRESS> 100000agnet --from wallet --chain-id $STRUCTS_CHAIN_ID --gas-adjustment 1.5 --gas auto --gas-prices 0alpha -y
Service
Reload Service
sudo systemctl daemon-reload
Enable Service
sudo systemctl enable structsd
Disable Service
sudo systemctl disable structsd
Start Service
sudo systemctl start structsd
Stop Service
sudo systemctl stop structsd
Restart Service
sudo systemctl restart structsd
Check Service Status
sudo systemctl status structsd
Check Service Logs
sudo journalctl -u structsd -f --no-hostname -o cat
Governance
tip
For Vote, You can change the value of yes to no, abstain, no_with_veto
Vote
structsd tx gov vote 1 yes --from wallet --chain-id $STRUCTS_CHAIN_ID --gas-adjustment 1.5 --gas auto --gas-prices 0alpha -y
List all Proposals
structsd query gov proposals
Check Vote
structsd tx gov vote PROPOSAL_NUMBER VOTE_OPTION --from wallet --chain-id $STRUCTS_CHAIN_ID --gas-adjustment 1.5 --gas auto --gas-prices 0alpha -y
Create new Proposal
structsd tx gov submit-proposal \
--title="Title" \
--description="Description" \
--deposit=10000000agnet \
--type="Text" \
--from=wallet \
--gas-adjustment 1.5 \
--gas "auto" \
--gas-prices=0alpha \
-y
Utility
Set Indexer null / kv
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.structs/config/config.toml
Get Validator Info
structsd status 2>&1 | jq .ValidatorInfo
Get Denom Info
structsd q bank denom-metadata -oj | jq
Get Sync Status
structsd status 2>&1 | jq .SyncInfo.catching_up
Get Latest Height
structsd status 2>&1 | jq .SyncInfo.latest_block_height
Get Node Peer
echo $(structsd tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.structs/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Set Minimum Gas Price
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0alpha\"/" $HOME/.structs/config/app.toml
Enable Prometheus
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.structs/config/config.toml
Reset Chain Data
structsd tendermint unsafe-reset-all --home $HOME/.structs --keep-addr-book
Delete
WARNING!!! Please, before you advance to the following step! The entire chain data will be gone! Make sure you have a backup of your priv_validator_key.json!
Delete Node
sudo systemctl stop structsd && sudo systemctl disable structsd && sudo rm /etc/systemd/system/structsd.service && sudo systemctl daemon-reload && sudo rm -rf $(which structsd) && rm -rf $HOME/.structs