Submitting a Proposal (CLI)

This page is currently a work in progress

Governance proposalsarrow-up-right target the parameters of specific modules. Go to the list of modulesarrow-up-right, and go to the 'parameters' tab for the module you are interested in.

You can query the current setting for that parameter with sourced query params subspace [module] [parameter]. For example, to query the communitytax param in distributionarrow-up-right, you would do:

sourced query params subspace distribution communitytax

NB: if you have not set it in config, you will need to add chain-id: --chain-id sourcechain-testnet

This will return:

key: communitytax
subspace: distribution
value: '"0.020000000000000000"'

You can query BaseApparrow-up-right parameters as well:

sourced query params subspace baseapp BlockParams

This will return:

key: BlockParams
subspace: baseapp
value: '{"max_bytes":"22020096","max_gas":"80000000"}'

Let's take this BlockParams parameter as an example. Say we want to create a proposal that increases this value.

We can encode the parameter change in a JSON proposal like so:

{
  "title": "Governance Proposal to add maximum per block gas",
  "description": "To stop potential attacks against the network via the use of malicious smart contracts, we need to set a max per block gas limit. From testing on the Source Chain testnet, the core team feel this value is a good starting point, and it can be increased in future if necessary.",
  "changes": [{
    "key": "BlockParams",
    "subspace": "baseapp",
    "value": {
      "max_gas": "100000000"
    }
  }],
  "deposit": "10000000usource"
}

We can then submit it:

Other types of proposals include community-pool-spend and software-upgrade/cancel-software-upgrade.

Last updated