Creating a Commune Proposal in 10 minutes

First make sure to have the CommuneX CLI installed. You can install it via pip using the following command:

pip install communex

For further documentation, you can check the CommuneX Github. You will need 10,000 tokens in your balance, which will be returned if your proposal passes. This encourages honest and thought-out proposals.

Custom Proposal

Custom proposal data is hosted on IPFS (InterPlanetary File System) for performance reasons. To upload data, you'll need to register with a hosting provider of your choice. We recommend using Pinata Cloud.

The process is streamlined through the governance portal.

First, click New Proposal:

Fill in the Proposal contents (markdown supported) and check the preview to ensure it satisfies your expectations. Then download the file.

Save the file and upload it to the IPFS cloud (i.e. Pinata). After uploading, you will receive a hash of the document, for example: QmPsc5bhoMBhw88Pt9mY6Umzb....

Upload The Proposal Document

After obtaining the hash, execute the following command through the CommuneX CLI:

comx network add-custom-proposal <key> <ipfs hash>

Congratulations! You have now created a custom proposal.

Global Proposal

To create a global proposal, use the propose-globally command in the CommuneX CLI.

comx network propose-globally <key> --<parameter> x --<parameter> y etc

Here is the list of parameters you can propose to change.

--max-allowed-modules
--max-registrations-per-block
--target-registrations-interval
--target-registrations-per-interval
--unit-emission
--tx-rate-limit
--vote-threshold
--vote-mode
--max-proposals
--max-name-length
--burn-rate
--min-burn
--burn
--min-stake
--min-weight-stake
--adjustment-alpha
--floor-delegation-fee
--max-allowed-subnets

Subnet Proposal

Important: You can only create proposals for Subnets that run on "Vote" mode, not "Authority" mode. Otherwise, you will encounter an error.

To create a proposal on a specific subnet, use the propose-on-subnet command:

comx subnet propose-on-subnet <netuid> <key> --<parameter> x --<parameter> y etc

Here is the list of parameters you can propose to change:

--name
--founder
--founder-share
--immunity-period
--incentive-ratio
--max-allowed-uids
--max-allowed-weights
--min-allowed-weights
--max-stake
--min-stake
--tempo
--trust-ratio
--vote-mode
--max-weight-age

Replace the placeholders (<netuid>, <key>) with the appropriate values for your proposal as well as include any parameter with the proposed value you’d like to change.

Custom Subnet Proposal

You can also create a custom proposal on a subnet by following the custom proposal structure and using the add-custom-proposal command:

comx subnet add-custom-proposal <netuid> <key> <IPFS>

By following these steps, you can easily create global, subnet, and custom subnet proposals using the CommuneX CLI. Remember to have the required token balance and for subnet proposals ensure the subnet is in “Vote” mode.

Thats it. thats all there is to know about creating Commune proposals.

🫡

Subscribe to CommuneX
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.