An article to understand the Polkadot democracy module
PolkaWorld
2020-07-14 01:00
本文约3948字,阅读全文需要约16分钟
This guide will guide token holders on how to propose and vote on a referendum using the Democracy Module on Kusama.

Editor's Note: This article comes fromPolkaWorld(ID:gh_6c4c2038ddba), reproduced by Odaily with authorization.

Editor's Note: This article comes from

), reproduced by Odaily with authorization.

This guide will guide token holders on how to propose and vote on a referendum using the Democracy Module on Kusama.

Important parameters

mdnice editor

  • Important parameters

  • The important parameters to be aware of when voting with the democracy module are as follows:

  • Initiation Period: How often to initiate a new referendum.

  • Voting Period: How often referendums are held.

  • Emergency Voting Period: Minimum voting period for an emergency referendum that needs to be followed up quickly.

  • Cooling-off period: The time during which a proposal cannot be resubmitted after being rejected.

put forward a motion

mdnice editor

put forward a motion

Proposing a proposal first requires you to bond some tokens. To make sure you have enough coins for the minimum deposit, you can check the parameters in the chain state.

On Polkadot Apps, you can use the "Democracy" column to propose new proposals. In order to submit a proposal, you need to submit what is called a preimage hash. The preimage hash is simply the hash of the proposal to be enacted. The easiest way to get the preimage hash is to click the "Submit preimage" button and configure the actions suggested by your proposal.

Now, you will click the "SubmitProposal" button, enter the preimage hash in the input called "preimage hash" and enter the minimum deposit amount in the "locked balance" field. Click the blue "Submit proposal" button and confirm the transaction. You should now see your proposal appear in the "Proposals" column of the page.

Now anyone with access to the chain can see your motion, and others can second it or submit a preimage. However, it is hard to tell what exactly this proposal does, since it shows the hash of the proposal. Other holders won't be able to tell if they support it until someone submits an actual preimage of the proposal. In the next step, you will submit the preimage.

mdnice editor

Submit Preimage

Because the storage cost of submitting a large preimage can be quite expensive, the process of proposing a proposal is separate from submitting the preimage for that proposal. Allowing preimage submissions to be processed as a separate transaction means that if you don't have enough funds, another account can submit the preimage for you. It also means you don't have to pay as much out of bounds right away because you can prove the preimage hash.

Click the blue "submit preimage" button and configure it to do the same as before to get the preimage hash. This time, instead of copying the hash to another tab, you go ahead and click "submit preimage" and confirm the transaction.

Once the transaction is complete, you should see the UI update with information about the proposals you have submitted.

mdnice editor

in favor of a motion

Upvoting a motion means you agree to the motion, backed by the same amount of deposit that was originally locked. By supporting a motion, you elevate it to a higher motion. The proposal with the most support, counted by value rather than number of supporters, will become a referendum proposal and be voted on each launch period.

Once successful, you'll see your upvote appear in the motion details dropdown.

vote on a bill

mdnice editor

vote on a bill

At the end of each launch period, the proposal with the highest approval rating will move to a referendum. During this time, you can vote for or against. You can also lock your tokens for a longer period of time to increase the weight of your votes. You cannot transfer them while your tokens are locked, but they can still be used for further voting. The lockup of tokens is stacked, so if you vote again a week later, the 8 week lockup will not become 15 weeks, but an additional 8 week lockup period will be added.

To vote on the referendum, navigate to the "Democracy[2]" tab of the Polkadot App. Any positive referenda will be shown in the "Referenda referenda" column. Click the blue button "Vote" to vote for the referendum.

When you're happy with the decision you've made, click the blue "Vote" button to submit your transaction and wait for it to be included in a block.

proxy vote

mdnice editor

proxy vote

If you are too busy to continue voting, you can choose to delegate your voting rights to another account you trust. When you delegate to another account, that account will get additional voting power for your tokens and the voting will you set. Delegated voting wills work the same as regular voting wills, except that your tokens may be locked for longer than normal, as the lock resets when you undelegate a vote.

Once delegated, the delegated account does not perform any special operations. They can continue to vote on referendums as they see fit. The difference is that when votes are counted in modern democracies, no matter what votes the delegates cast, the delegated tokens are attached.

After sending a delegation transaction, you can verify that it went through by navigating to the "Chain State" tab and selecting the "Democracy" and "Delegation" options. You'll see an output box similar to the one below, showing the addresses you've delegated your votes to.

Cancellation of delegated votes

mdnice editor

Cancellation of delegated votes

The undelegate transaction must be sent from the account whose delegation permissions you wish to clear. If Alice delegated to Bob, then Alice is the transaction that needs to call undelegate to clear her delegation.

The easiest way to do this is from the "Extrinsics" tab of the Polkadot App. Select the "Democracy" module and the "Deauthorization" transaction type. Make sure the transaction you send is from the account you want to clear authorization from. Click "Submit Transaction" and confirm.

mdnice editor

A governance proxy can be used to participate in governance on behalf of a stash account. Governance agents can execute any transaction from the Democracy, Council, Technical Council and Treasury modules. Unlike an entrustment, an agent acts as a long-term account and performs all governance-related transactions on funds held in different accounts. Delegation is a reasonable action to take when you trust another account's judgment, while proxying is more of a suggested security practice to keep your funds safe and use an active account with low funds account.

Learn more about proxies and other types of proxies on the Proxies[3] page.

Why use a proxy

The idea of ​​a governance agent introduces a level of security. Governance agents use low funds sent from their stash accounts when transacting with the Democracy, Council, Tech Council, and Treasury modules. This allows the proxy to perform on-chain operations more securely, rather than the stash account itself.

mdnice editor

add an agent

Adding a proxy consists of submitting a single transaction, the transaction type "addProxy" in the proxy module.

You also have the option to add a Governance anonymous proxy under the "Anonymous" type in the Proxy module and select "Governance" as the proxy type. Governance anonymous proxies can only be accessed by another proxy, and these proxies do not have any associated keys attached to them.

Read more about anonymous proxies [4] here.

voting by proxy

Voting on behalf of a stash account requires a "proxy" transaction in the proxy module. When you select this transaction from the "External" tab, it will allow you to select "Vote" from the "Democracy" module, and you will specify the index, verdict (i.e. "yes" means yes or "No" means refusal) and willingness, just like a normal vote.

mdnice editor

PolkaWorld
作者文库