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.