Skip to content

Latest commit

 

History

History
115 lines (71 loc) · 4.57 KB

voting-strategies.md

File metadata and controls

115 lines (71 loc) · 4.57 KB

✨ Voting strategies

What is a strategy?

Voting strategy is a set of conditions used to calculate user's voting power. Strategies enable Snapshot to calculate the final result of voting on a given proposal. You can read more about them in our documentation: voting-strategies.md

I want to test a strategy, how can I do it?

You can use the playground on Snapshot available from the strategy’s page:

How to limit voting to only those users who own a specific amount of the token(s)?

You need to setup a basic voting validation which allows you to select a specific strategy and define the minimum threshold required for the user to vote. Have a look at our documentation here to learn more: validation-strategies.md

Why is my voting power equal to 0?

There might be multiple reasons for that. Most usually your voting power is equal to 0 as you didn’t have the required tokens in you wallet at the time of proposal creation. Have a look at this discussion to explore other potential reasons.

Why is my voting power reduced? I’m a delegate.

If the proposal’s space is using the delegation strategy and the address which delegated its voting power to you casts a vote on the specific proposal, your total voting power is reduced by the delegation which you received from the other address.

To give an example (using the delegation strategy):

  • B has voting power of 20 of its own.
  • A has voting power of 10 and delegates it to B.
  • B has now a voting power equal to 30.
  • If A does not vote, B’s voting power is 30.
  • If A does vote, B’s voting power is 20. (30 reduced by 10)
I'm looking to set up our Snapshot space with 3 different voting strategies for 3 types of proposals. How can I do it?

You can use sub-spaces on Snapshot. This solution allows you to link different spaces and set different settings for each of them depending on your needs. Have a look at our documentation to learn more: sub-spaces.md

I want to give one vote per one wallet to the voters of my space, regardless of their wallets’ balance. Which strategy should I use?

You can use the ticket strategy.

How can I give 1 voting power to all voters holding a specific token regardless of its amount?

It's a two step process - you have to define a validation strategy and a voting strategy for your space.

1. Voting validation
In order to allow users to participate in voting, setup a Basic voting validation in the space settings. You can find it in the voting section in space settings:



When defining the voting validation parameters, you have the option to specify the strategies for the tokens and the minScore required for voters to be eligible to vote:

Here is an example of the basic strategy setup for voters holding DAI tokens:

{
  "minScore": 1, # define the minimum required amount of token
  "strategies": [
   {
      "name": "erc20-balance-of",
      "params": { # define the specific token details
        "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
        "symbol": "DAI",
        "decimals": 18
      }
  ]
}

2. Voting strategy

Use the Ticket strategy to give voting power equal to 1 to any user eligible to vote - users that passed the voting validation described in step 1.

I am not a developer, can someone work on my strategy for money?

Yes. You can create an issue on https://github.com/snapshot-labs/snapshot-strategies/issues and then post in on the #developers channel on Discord.


Snapshot is not reponsible for the agreement between you and the contributors.