Vote on proposals

This is a guide on how to vote on dHealth proposals.

Introduction

If you are a delegator or a validator, that is, you have staked some of your DHPs then you are eligible to vote on dHealth's community proposals.

Voting on proposals is important because dHealth is a decentralized entity which relies on the community governance. Furthermore, technically for a proposal to pass, it must have:

  1. A majority of Yes votes (50% as current dHealth network's threshold).
  2. Participation quorum is reached (33% of the total staked tokens must vote at least).

To start voting, you need:

  1. The proposal ID that you will vote on, and
  2. Some small DHPs to pay for the transaction fee.

1. Get the proposals ID

You can check what proposals are available for voting by going to the explorer:

ChainURLs
Mainnet- Big Dipper
- NodeStake
- EZStaking
- Ping.pub
Testnet- Big Dipper

A proposal's ID will be the number listed next to it:

Alternatively you can also get the proposals and their IDs by using the CLI:

dhealthd q gov proposals
dhealth-testnetd q gov proposals

The result will be something like this, which you can see the details including the ID from:

pagination:
  next_key: null
  total: "0"
proposals:
- deposit_end_time: "2024-03-13T16:50:50.756759906Z"
  final_tally_result:
    abstain_count: "0"
    no_count: "0"
    no_with_veto_count: "0"
    yes_count: "300130010500000"
  id: "1"
  messages: []
  metadata: ipfs://CID
  proposer: tdh021hzwxxvemgzn5u2zhu4ndjrtsvt5f35fewy2pg6
  status: PROPOSAL_STATUS_REJECTED
  submit_time: "2024-03-11T16:50:50.756759906Z"
  summary: This is a test proposal
  title: Are we happy today?
  total_deposit:
  - amount: "50000000"
    denom: utdhp
  voting_end_time: "2024-03-12T16:52:33.404763019Z"
  voting_start_time: "2024-03-11T16:52:33.404763019Z"
- deposit_end_time: "2024-04-05T16:16:46.636208627Z"
  final_tally_result:
    abstain_count: "0"
    no_count: "0"
    no_with_veto_count: "0"
    yes_count: "801992204531364"
  ...

2. Vote on the proposal

To vote on a proposal, you can use the command:

dhealthd tx gov vote [proposal-id] [option] [flags]
dhealth-testnetd tx gov vote [proposal-id] [option] [flags]

Example:

dhealthd tx gov vote 1 yes --from youraccount
dhealth-testnetd tx gov vote 1 yes --from youraccount

Parameters explained:

  • proposal-id: The proposal's ID that you have obtained from the previous step.
  • option: The vote option that you choose. Valid values are:
ValueDescription
yesGo for the proposal.
noGo against the proposal.
no_with_vetoGo against the proposal, and if this vote is the majority, it will cause the deposit for the proposal (50 DHP currently) to be forfeit.
abstainAbstain votes are neither yes or no, but it allows quorum to be reached. This is important for a proposal to reach the required quorum.

πŸ“˜

Deposit refund and burn

When a proposal is finalized, the coins from the deposit are either refunded or burned according to the final tally of the proposal:

  • If the proposal is approved or rejected but not vetoed, each deposit will be automatically refunded to its respective depositor (transferred from the governance ModuleAccount).
  • When the proposal is vetoed with greater than 1/3, deposits will be burned from the governance ModuleAccount and the proposal information along with its deposit information will be removed from state.
  • All refunded or burned deposits are removed from the state. Events are issued when burning or refunding a deposit.