mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-11-13 23:39:08 -05:00
codify tally_method
This commit is contained in:
parent
4ad8b364c4
commit
ae55cbffa6
8
69.md
8
69.md
|
@ -1,6 +1,6 @@
|
|||
# Poll event
|
||||
|
||||
A poll note is a nostr event (kind `6969`) for conducting paid polls. A poll presents two or more voting options, which participants my vote on by sending regular zap events which include an additional `poll_option` vote tag. Poll results may be blinded, until after users have voted. Polls may specify a closing time, after which results should be unblinded, closed to new votes, and considered final. Polls may also specify a consensus threshold.
|
||||
A poll note is a nostr event (kind `6969`) for conducting paid polls. A poll presents two or more voting options, which participants my vote on by sending regular zap events which include an additional `poll_option` vote tag. Poll results may be blinded, until after users have voted. Polls may specify a `closed_at` time, after which results should be unblinded, closed to new votes, and considered final. Polls may also specify a `consensus_threshold`.
|
||||
|
||||
## Purpose
|
||||
|
||||
|
@ -12,7 +12,7 @@ A poll event:
|
|||
* MUST contain a primary description string, specified in the `content` field
|
||||
* MUST contain a predefined list of voting options, defined in a `poll_options` tag
|
||||
* MUST include at least 2 voting options, each with its own unique description string
|
||||
* MUST specify a primary tally method: either `value` OR `count`
|
||||
* MUST specify a primary `tally_method`: either `value` OR `count`
|
||||
* SHOULD specify a `closed_at` time:
|
||||
* a `closed_at` value of less than or equal to the `created_at` field indicates a poll SHOULD NOT be closed.
|
||||
* MAY include a `consensus_threshold` integar (0-100), representing a percentage threshold for any single vote option to achieve poll consensus
|
||||
|
@ -60,9 +60,9 @@ Zap vote events (kind `9734` and `9735`):
|
|||
|
||||
## Poll outcomes
|
||||
|
||||
Votes may be tallied either by value or by count. To avoid ambiguity of a winning outcome, a primary tally method MUST be specified as either `value` or `count`. When a `count` tally method is specified, only a single vote (the most recent) per unique voter MUST be included in the tally, zap amounts MUST be ignored, and anonymous zaps MUST NOT be counted.
|
||||
Votes may be tallied either by value or by count. To avoid ambiguity of a winning outcome, a primary `tally_method` MUST be specified as either `value` or `count`. When a `count` `tally_method` is specified, only a single vote (the most recent) per unique voter MUST be included in the tally, zap amounts MUST be ignored, and anonymous zaps MUST NOT be counted.
|
||||
|
||||
If a `closed_at` time is specified, after it is passed, a poll should be unblinded publicly and MUST be treated as closed (late votes must not be tallied). Once closed, the option associated with either the most satoshis (value) or the most votes (counts), depending on tally method, MUST be treated as the winning option; while the distribution percentages across all vote options MUST be considered respresentative of the distribution of opinion amongst participants.
|
||||
If a `closed_at` time is specified, after it is passed, a poll should be unblinded publicly and MUST be treated as closed (late votes must not be tallied). Once closed, the option associated with either the most satoshis (value) or the most votes (counts), depending on `tally_method`, MUST be treated as the winning option; while the distribution percentages across all vote options MUST be considered respresentative of the distribution of opinion amongst participants.
|
||||
|
||||
If a `closed_at` time is not specified (or is less than or equal to `created_at`), all votes SHOULD be tallied into perpetuity, and the most recent tally SHOULD be treated as the definitive outcome.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user