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 junod query params subspace [module] [parameter]. For example, to query the communitytax param in distribution, you would do:
1
junod query params subspace distribution communitytax
Copied!
NB: if you have not set it in config, you will need to add chain-id: --chain-id uni.
This will return:
1
key: communitytax
2
subspace: distribution
3
value: '"0.020000000000000000"'
Copied!
You can query BaseApp parameters as well:
1
junod query params subspace baseapp BlockParams
Copied!
This will return:
1
key: BlockParams
2
subspace: baseapp
3
value: '{"max_bytes":"22020096","max_gas":"80000000"}'
Copied!
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:
1
{
2
"title": "Governance Proposal to add maximum per block gas",
3
"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.",
4
"changes": [{
5
"key": "BlockParams",
6
"subspace": "baseapp",
7
"value": {
8
"max_gas": "100000000"
9
}
10
}],
11
"deposit": "10000000ujuno"
12
}
Copied!
We can then submit it:
1
junod tx gov submit-proposal param-change ./max_block_gas_proposal.json --from needlecast --fees 5000ujuno --gas auto
Copied!
(Note: this example is Juno Mainnet Proposal 6).
Other types of proposals include community-pool-spend and software-upgrade/cancel-software-upgrade.
Copy link