For Validators
As an additional security feature, validators who want to enable their delegators to migrate their wallet from 750 coin-type to 118 coin-type using LSM, are required to “validator-bond” a certain amount of XPRT.
The validator “validator-bond” means that validators need to have “skin in the game” in order to be entrusted with delegations.
This disincentivizes malicious behavior and empowers the validator to get more delegations.
Understanding Validator-Bond
The initial validator bond factor would be set at 250 and can be configurable by governance.
With a validator-bond factor of 250, for every one XPRT delegated as validator-bond, that validator is eligible to receive up to two-hundred-and-fifty liquid stake delegated XPRT tokens from a liquid staking provider.
total_liquid_stake_on_validator.amount / Sum(every_delegation_where[bond=True].amount) < VALIDATOR_BOND_FACTOR
Step-by-step instructions for validators
Step 1: Create a new Persistence wallet named as 'valBondAccount'
. We recommend you should not use an existing wallet (see FAQ below for details).
Step 2: Determine how many XPRT you should validator-bond using our tool, or based on your own calculations.
Step 3: Send the number of XPRT you would like to validator-bond to valBondAccount
Step 4: From valBondAccount
, delegate these XPRT to your validator.
Step 5: From valBondAccount
, Validator-Bond the delegation you made to your validator (see detailed instructions below).
How to Validator Bond? (Technical Instructions)
Note: This validator bond tool by Kitkat can also be used to validator-bond.
A delegator (or validator operator) can convert a delegation into Validator Bond by signing a ValidatorBond message. The ValidatorBond message is exposed by the staking module and can be executed as follows:
persistenceCore tx staking validator-bond ValidatorAddress --from mykey
Here’s an example of a successful validator bond transaction on core-1 chain:
First, delegate to a validator from a new account:
https://www.mintscan.io/persistence/transactions/11D746B6C94CA4BBC18B02F08A0024A4730BAE1ADDEFEDAFAE85EC58A7DACAA5
Then, validator bond from that account:
https://www.mintscan.io/persistence/transactions/36E58CAAA55BAA9CBC59E7CD0C1F78355AE5268331DB6C23DDC5AB79E001DF0E?height=13165160
Here’s the transaction that was submitted on the command line:
persistenceCore tx staking validator-bond ValidatorAddress
--from MyKey
--fees 1000uxprt
--chain-id core-1
--node https://rpc.core.persistence.one:443
You can confirm your conversion to a validator bond succeeded by querying the delegation:
persistenceCore q staking delegations DelegatorAddress
delegation_responses:
- balance:
amount: "N"
denom: uxprt
delegation:
delegator_address: persistence123...ABC
shares: "1.000000000000000000"
validator_address: persistencevaloper123...XYZ
validator_bond: true <---- You should see this field = true :)
FAQs
Last updated
Was this helpful?