Parameter Change proposals are for changing one of the parameters in the Hub’s code. Information about Param Change proposals is presented in the Cosmos Hub documentation.
Template
Here’s a template for writing a parameter change proposal! This template will be automatically generated when you create a topic in this category; you are free to edit it as you need.
Hi OP! Here are some things to keep in mind when writing a proposal:
- There is a 10000 character limit for a proposal (incl. format and links)
- Once a proposal is on-chain it cannot be changed or edited. Make sure to solicit feedback and edits from stakeholders (i.e. Validators and delegators) BEFORE you move on-chain.
- For transparency, take a pdf snapshot of this forum post and pin it to IPFS before going on-chain (e.g. Using a service such as Pinata - https://www.pinata.cloud/ ). Include the link in your on-chain proposal text.
Change log
- YYYY-MM-DD Created initial post
Summary
Details
Parameter and new value
Forum post link
IPFS link
Governance votes
The following items summarize the voting options and what it means for this proposal:
YES -
NO -
NO WITH VETO - A ‘NoWithVeto’ vote indicates a proposal either (1) is deemed to be spam, i.e., irrelevant to Cosmos Hub, (2) disproportionately infringes on minority interests, or (3) violates or encourages violation of the rules of engagement as currently set out by Cosmos Hub governance. If the number of ‘NoWithVeto’ votes is greater than a third of total votes, the proposal is rejected and the deposits are burned.
ABSTAIN - You wish to contribute to quorum but you formally decline to vote either for or against the proposal.
How to submit a param change proposal
- First create a
proposal.json
file and open it using your favourite text editor - Then start crafting your json by adding a title and description field. The basic structure is this:
{
"title":"<your proposal title goes here>",
"description":"<your proposal text goes here>",
"changes":[],
"deposit":""
}
- You need to work out which “subspace” you want to make a change within. Each subspace has a number of key-value pairs. You’ll need to figure out what key-value pair you want to change. Subspaces include
auth
,bank
,baseapp
,crisis
,distribution
,gov
,liquidity
,mint
,slashing
,staking
, andtransfer
. You can find all subspaces and keys here - Add each change you want to make to the
changes
array by including thesubspace
,key
, and updatedvalue
you want. You can make multiple parameter changes at once by adding each change as an element in thechanges
array in your parameter change json. - Also change the deposit amount.
TIP : Verify your json formatting using our json schema validator.
- Finally submit your proposal on chain using
gaiad tx gov submit-proposal param-change <path/to/proposal.json> --from <your-key> --home <your-gaia-home-directory> --node <an-rpc-endpoint>
Here’s a real example of a parameter change proposal (used on the Theta testnet) where the key UnbondingTime
in the staking
module is being updated to the value 172800000000000
nanosecond (2 days).
{
"title":"Parameter change: increase unbonding time to 2 days",
"description":"Change to 2 days",
"changes":[
{
"subspace":"staking",
"key":"UnbondingTime",
"value":"172800000000000"
}
],
"deposit":"1000uatom"
}