Submitting a Proposal (CLI)

This page is currently a work in progress

Governance proposals target the parameters of specific modules. Go to the list of modules, 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 distribution, 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 BaseApp 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:

sourced tx gov submit-proposal param-change ./max_block_gas_proposal.json --from sourceuser --fees 5000usource --gas auto

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

Last updated