# Submitting a Proposal (CLI)

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 rebusd query params subspace [module] [parameter]. For example, to query the communitytax param in distribution, you would do:

rebusd query params subspace distribution communitytax

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

This will return:

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

You can query BaseApp parameters as well:

rebusd 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 Uni 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": "10000000urebus"
}

We can then submit it:

rebusd tx gov submit-proposal param-change ./max_block_gas_proposal.json --from needlecast --fees 5000urebus --gas auto

(Note: this example is Rebus Mainnet Proposal 6).

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