# Staking

Staking module provides a set of subcommands to query staking state and send staking transactions.

# Available Commands

Name Description
validator Query a validator
validators Query for all validators
delegation Query a delegation based on address and validator address
delegations Query all delegations made from one delegator
delegations-to Query all delegations to one validator
unbonding-delegation Query an unbonding-delegation record based on delegator and validator address
unbonding-delegations Query all unbonding-delegations records for one delegator
unbonding-delegations-from Query all unbonding delegatations from a validator
redelegations-from Query all outgoing redelegatations from a validator
redelegation Query a redelegation record based on delegator and a source and destination validator address
redelegations Query all redelegations records for one delegator
pool Query the current staking pool values
params Query the current staking parameters information
historical-info Query historical info at given height
create-validator Create new validator initialized with a self-delegation to it
edit-validator Edit existing validator account
delegate Delegate liquid tokens to an validator
unbond Unbond shares from a validator
redelegate Redelegate illiquid tokens from one validator to another

# plugchaind query staking validator

# Query a validator by validator address

plugchaind query staking validator <gxvaloper...>

# plugchaind query staking validators

# Query all validators

plugchaind query staking validators

# plugchaind query staking delegation

Query a delegation based on delegator address and validator address.

plugchaind query staking delegation [delegator-addr] [validator-addr]

# Query a delegation

plugchaind query staking delegation <gx...> <gxvaloper...>

Example Output:

Delegation:
  Delegator:  gx13lcwnxpyn2ea3skzmek64vvnp97jsk8qrcezvm
  Validator:  gxvaloper15grv3xg3ekxh9xrf79zd0w077krgv5xfzzunhs
  Shares:     1.0000000000000000000000000000
  Height:     26

# plugchaind query staking delegations

Query all delegations delegated from one delegator.

plugchaind query staking delegations [delegator-address] [flags]

# Query all delegations of a delegator

plugchaind query staking delegations <gx...>

# plugchaind query staking delegations-to

Query all delegations to one validator.

plugchaind query staking delegations-to [validator-address] [flags]

# Query all delegations to one validator

plugchaind query staking delegations-to <gxvaloper...>

Example Output:

Delegation:
  Delegator:  gx13lcwnxpyn2ea3skzmek64vvnp97jsk8qrcezvm
  Validator:  gxvaloper1yclscskdtqu9rgufgws293wxp3njsesxxlnhmh
  Shares:     100.0000000000000000000000000000
  Height:     0
Delegation:
  Delegator:  gx1td4xnefkthfs6jg469x33shzf578fed6n7k7ua
  Validator:  gxvaloper1yclscskdtqu9rgufgws293wxp3njsesxxlnhmh
  Shares:     1.0000000000000000000000000000
  Height:     26

# plugchaind query staking unbonding-delegation

Query an unbonding-delegation record based on delegator and validator address.

plugchaind query staking unbonding-delegation [delegator-addr] [validator-addr] [flags]

# Query an unbonding delegation record

plugchaind query staking unbonding-delegation <gx...> <gxvaloper...>

# plugchaind query staking unbonding-delegations

# Query all unbonding delegations records of a delegator

plugchaind query staking unbonding-delegations <gx...>

# plugchaind query staking unbonding-delegations-from

# Query all unbonding delegations from a validator

plugchaind query staking unbonding-delegations-from <gxvaloper...>

# plugchaind query staking redelegations-from

Query all outgoing redelegations of a validator

plugchaind query staking redelegations-from [validator-address] [flags]

# Query all outgoing redelegatations of a validator

plugchaind query staking redelegations-from <gxvaloper...>

# plugchaind query staking redelegation

Query a redelegation record based on delegator and source validator address and destination validator address.

plugchaind query staking redelegation [delegator-addr] [src-validator-addr] [dst-validator-addr] [flags]

# Query a redelegation record

plugchaind query staking redelegation <gx...> <gxvaloper...> <gxvaloper...>

# plugchaind query staking redelegations

# Query all redelegations records of a delegator

plugchaind query staking redelegations <gx...>

# plugchaind query staking pool

# Query the current staking pool values

plugchaind query staking pool

Example Output:

Pool:
  Loose Tokens:   1409493892.759816067399143966
  Bonded Tokens:  590526409.65743521209068061
  Token Supply:   2000020302.417251279489824576
  Bonded Ratio:   0.2952602076

# plugchaind query staking params

# Query the current staking parameters information

plugchaind query staking params

# plugchaind query staking historical-info

# Query historical info at given height

plugchaind query staking historical-info <height>

# plugchaind tx staking create-validator

Send a transaction to apply to be a validator and delegate a certain amount of plugchaind to it.

plugchaind tx staking create-validator [flags]

Flags:

Name, shorthand type Required Default Description
--amount string Yes Amount of coins to bond
--commission-rate float Yes 0.0 The initial commission rate percentage
--commission-max-rate float 0.0 The maximum commission rate percentage
--commission-max-change-rate float 0.0 The maximum commission change rate percentage (per day)
--min-self-delegation string The minimum self delegation required on the validator
--details string Optional details
--genesis-format bool false Export the transaction in gen-tx format; it implies --generate-only
--identity string Optional identity signature (ex. UPort or Keybase)
--ip string Node's public IP. It takes effect only when used in combination with
--node-id string The node's ID
--moniker string Yes Validator name
--pubkey string Yes Go-Amino encoded hex PubKey of the validator. For Ed25519 the go-amino prepend hex is 1624de6220
--website string Optional website
--security-contact string The validator's (optional) security contact email

# Create a validator

plugchaind tx staking create-validator --chain-id=plugchain_520-1 --from=<key-name> --fees=20uplugcn --pubkey=<validator-pubKey> --commission-rate=0.1 --amount=100uplugcn --moniker=<validator-name>

TIP

Follow the Mainnet instructions to learn more.

# plugchaind tx staking edit-validator

Edit an existing validator's settings, such as commission rate, name, etc.

plugchaind tx staking edit-validator [flags]

Flags:

Name, shorthand type Required Default Description
--commission-rate float 0.0 Commission rate percentage
--moniker string Validator name
--identity string Optional identity signature (ex. UPort or Keybase)
--website string Optional website
--details string Optional details
--security-contact string The validator's (optional) security contact email
--min-self-delegation string The minimum self delegation required on the validator

# Edit validator information

plugchaind tx staking edit-validator --from=<key-name> --chain-id=plugchain_520-1 --fees=20uplugcn --commission-rate=0.10 --moniker=<validator-name>

# Upload validator avatar

Please refer to How to upload my validator's logo to the Explorers

# plugchaind tx staking delegate

Delegate tokens to a validator.

plugchaind tx staking delegate [validator-addr] [amount] [flags]
plugchaind tx staking delegate <gxvaloper...> <amount> --chain-id=plugchain_520-1 --from=<key-name> --fees=20uplugcn

# plugchaind tx staking unbond

Unbond tokens from a validator.

plugchaind tx staking unbond [validator-addr] [amount] [flags]

# Unbond some tokens from a validator

plugchaind tx staking unbond <gxvaloper...> 10uplugcn --from=<key-name> --chain-id=plugchain_520-1 --fees=20uplugcn

# plugchaind tx staking redelegate

Transfer delegation from one validator to another.

TIP

There is no unbonding time during the redelegation, so you will not miss the rewards. But you can only redelegate once per validator, until a period (= unbonding time) exceed.

plugchaind tx staking redelegate [src-validator-addr] [dst-validator-addr] [amount] [flags]

# Redelegate some tokens to another validator

plugchaind tx staking redelegate <gxvaloper...> <gxvaloper...> 10uplugcn --chain-id=plugchain_520-1 --from=<key-name> --fees=20uplugcn