This manual describes the processes to submit a gov proposal and vote a proposal.
As of the writing of this manual, the gov params are set as:
{
"voting_params":{
"voting_period":"300000000000"
},
"tally_params":{
"quorum":"0.667000000000000000",
"threshold":"0.667000000000000000",
"veto":"0.334000000000000000"
},
"deposit_params":{
"min_deposit":"0",
"max_deposit_period":"120000000000"
}
}
Refer to Query the parameters of the governance for current settings.
voting_period
indicates how long a proposal is waiting for vote, in nanoseconds- tally
quorum
indicates how much percent of the voting power should be achieved to vote the proposal, if there is not enough params.quorum of votes, the proposal fails - tally
veto
, if more than params.veto of voters veto, proposal fails - tally
threshold
, if more than params.threshold of non-abstaining voters vote Yes, proposal passes deposit_params
, current system accepts 0 deposit to propose a proposal
Note that to update these params themselves, a param change governance process is needed.
We usually propose and vote on two types of governance proposals, 1. simple param changes for a certain module and 2. cbridge / pegbridge config updates. There are other types of governance proposals such as farming adjustments and software upgrades, but they happen less often.
- Query current staking syncer duration and submit change proposal:
NOTE: Replace the placeholder {proposal_id} with the real proposal ID in the following commands. You can find the proposal ID in the output after submitting a proposal.
sgnd query staking params --home ~/.sgnd
sgnd tx gov submit-proposal param-change ./gov-example/param_change_proposal.json --home ~/.sgnd
sgnd query gov proposal {proposal_id} --home ~/.sgnd
- Perform the command below to vote yes and then wait for enough voters to vote yes in
voting_period
:
echo {validator_sgn_passphrase} | sgnd tx gov vote {proposal_id} yes --home ~/.sgnd
- Query proposal status:
sgnd query gov proposal {proposal_id} --home ~/.sgnd
sgnd query staking params --home ~/.sgnd
Edit the subspace and key accordingly in ./gov-example/param_change_proposal.json
for updating the other params in other modules.
cbridge / pegbridge config updates are used to add new chains and tokens.
- Query current cbr config and submit change proposal:
sgnd query cbridge config --home ~/.sgnd
sgnd tx gov submit-proposal cbridge-change ./gov-example/cbridge_cbr_proposal.json --home ~/.sgnd
sgnd query gov proposal {proposal_id} --home ~/.sgnd
- Perform the command below to vote yes and then wait for enough voters to vote yes in
voting_period
:
echo {validator_sgn_passphrase} | sgnd tx gov vote {proposal_id} yes --home ~/.sgnd
- Query proposal status:
sgnd query gov proposal {proposal_id} --home ~/.sgnd
sgnd query cbridge config --home ~/.sgnd
- sgnd tx gov - Governance transactions subcommands
- sgnd tx gov submit-proposal cbridge-change - Submit a cbridge config change proposal
- sgnd tx gov submit-proposal farming-add-pool - Submit an AddPoolProposal
- sgnd tx gov submit-proposal farming-add-tokens - Submit an AddTokensProposal
- sgnd tx gov submit-proposal farming-adjust-reward - Submit an AdjustRewardProposal
- sgnd tx gov submit-proposal farming-set-reward-contracts - Submit an SetRewardContractsProposal
- sgnd tx gov submit-proposal mint-adjust-provisions - Submit an AdjustProvisionsProposal
- sgnd tx gov submit-proposal param-change - Submit a parameter change proposal
- sgnd tx gov submit-proposal pegbridge-change - Submit a pegbridge config change proposal
- sgnd tx gov submit-proposal pegged-pair-delete - Submit a pegged pair delete proposal
- sgnd tx gov submit-proposal software-upgrade - Submit a software upgrade proposal