From 510b3d9491ba47c518816161ad12e0ff412efcb8 Mon Sep 17 00:00:00 2001 From: landonMutch Date: Fri, 3 Mar 2023 13:27:12 +0900 Subject: [PATCH 1/6] spell check --- 69.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/69.md b/69.md index 943ac4de..f7fc31d0 100644 --- a/69.md +++ b/69.md @@ -20,7 +20,7 @@ A poll event: ```json { - "id": <32-bytes lowercase hex-encoded sha256 of the the serialized event data> + "id": <32-bytes lowercase hex-encoded sha256 of the serialized event data> "pubkey": <32-bytes lowercase hex-encoded public key of the event creator>, "created_at": , "kind": 6969, @@ -33,7 +33,7 @@ A poll event: ["n", ], ], ["tally_method", "value"||"count"], - ["consensus_threshold", ], + ["consensus_threshold", ], ["closed_at", ], ], "content": , @@ -47,7 +47,7 @@ Poll options are voted on by sending [zap events](57.md) (to the original poll e Zap vote events (kind `9734` and `9735`): * MUST include exactly 1 `poll_option` tag -* MUST reference the vote option by its corresponding integar `n`, chosen from the original poll event's list of predefined `polling_options` +* MUST reference the vote option by its corresponding integer `n`, chosen from the original poll event's list of predefined `polling_options` * MUST transmit the exact `poll_option` between kind `9734` and `9735` ```json @@ -74,8 +74,8 @@ A tallying client: * MUST NOT count votes from anonymous users * MUST treat the vote option with the most unique votes as the winning option * when a `closed_at` time is specified, clients: - * MUST NOT include late votes recieved after `closed_at` time - * SHOULD publicly blind results until after a user's vote has been recieved + * MUST NOT include late votes received after `closed_at` time + * SHOULD publicly blind results until after a user's vote has been received * SHOULD publicly display results after the `closed_at` time has passed * when a `closed_at` time is NOT specified (is less than or equal to `created_at`), clients: * SHOULD include all votes in tallies @@ -87,7 +87,7 @@ After the above rules are applied and clearly rendered, a tallying client: * MUST indicate the state of consensus by displaying its value relative to the final percentage of the winning vote * MAY display the secondary tally method result, for statistical purposes, along with other associated poll metrics and comments -Strict adherence to these requirements should enable a standardized means of quantitatively assessing the distribution of opinion regarding a poll's content amongst poll participants, determining a winning outcome, and possibly acheiving consensus. However, until this protocol is further tested, refined, and proven robust, polls should probably not be considered authoritative nor binding. +Strict adherence to these requirements should enable a standardized means of quantitatively assessing the distribution of opinion regarding a poll's content amongst poll participants, determining a winning outcome, and possibly achieving consensus. However, until this protocol is further tested, refined, and proven robust, polls should probably not be considered authoritative nor binding. ## TODO From d39fa6db2d8105cc052b8ca5256e78c25b883298 Mon Sep 17 00:00:00 2001 From: landonMutch Date: Fri, 3 Mar 2023 13:29:05 +0900 Subject: [PATCH 2/6] spell check --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cce1b001..662b0312 100644 --- a/README.md +++ b/README.md @@ -109,10 +109,10 @@ When experimenting with kinds, keep in mind the classification introduced by [NI | subject | subject | | [14](14.md) | | d | identifier | | [33](33.md) | | expiration | unix timestamp (string) | | [40](40.md) | -| poll_options | options (integar array) | description (str) | [69](69.md) | -| poll_option | poll option (integar) | | [69](69.md) | +| poll_options | options (integer array) | description (str) | [69](69.md) | +| poll_option | poll option (integer) | | [69](69.md) | | tally_method | "value" OR "count" | | [69](69.md) | -| consensus_threshold | consensus % (integar) | | [69](69.md) | +| consensus_threshold | consensus % (integer) | | [69](69.md) | | closed_at | unix timestamp (string) | | [69](69.md) | ## Criteria for acceptance of NIPs From 19dfd630d70aca50dba6eee230dafbe53f0437a1 Mon Sep 17 00:00:00 2001 From: landonMutch Date: Fri, 3 Mar 2023 13:34:28 +0900 Subject: [PATCH 3/6] typo fix --- 01.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/01.md b/01.md index d32903b9..003c0ca1 100644 --- a/01.md +++ b/01.md @@ -16,7 +16,7 @@ The only object type that exists is the `event`, which has the following format ```json { - "id": <32-bytes lowercase hex-encoded sha256 of the the serialized event data> + "id": <32-bytes lowercase hex-encoded sha256 of the serialized event data> "pubkey": <32-bytes lowercase hex-encoded public key of the event creator>, "created_at": , "kind": , From fe6bd6736eb3493fd4d831611f52a61ce2d2cc61 Mon Sep 17 00:00:00 2001 From: landonMutch Date: Fri, 3 Mar 2023 13:39:30 +0900 Subject: [PATCH 4/6] add header labels --- 69.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/69.md b/69.md index f7fc31d0..7e420908 100644 --- a/69.md +++ b/69.md @@ -1,5 +1,7 @@ # Poll event +`draft` `optional` `author:toadlyBroodle` + A poll note is a [nostr event](01.md) (kind `6969`) for conducting paid polls. A poll presents two or more voting options, which participants my vote on by sending regular [zap events](57.md) 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 the tally considered final. Poll options may be tallied by either satoshi `value` or vote `count`. Polls may additionally specify a `consensus_threshold`. ## Purpose From 2bae130c388f7dd7678e694aa89dd9c17791045e Mon Sep 17 00:00:00 2001 From: landonMutch Date: Fri, 3 Mar 2023 13:41:26 +0900 Subject: [PATCH 5/6] update TODOs --- 69.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/69.md b/69.md index 7e420908..866120a6 100644 --- a/69.md +++ b/69.md @@ -93,8 +93,7 @@ Strict adherence to these requirements should enable a standardized means of qua ## TODO -* refine standardized polling formats based on dev feedback -* send pull request (RFC) to nostr-protocol/NIPs +* refine NIP#69 based RFC feedback * implement polls in 1 relay * implement polls in 2 clients * merge with nostr-protocol/NIPs From 980e1326e283718be8b745b377d0d17c0a60ed67 Mon Sep 17 00:00:00 2001 From: Landon Date: Sun, 5 Mar 2023 11:02:40 +0900 Subject: [PATCH 6/6] Apply suggestions from code review Co-authored-by: Semisol <45574030+Semisol@users.noreply.github.com> --- 69.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/69.md b/69.md index 866120a6..62c39ede 100644 --- a/69.md +++ b/69.md @@ -45,12 +45,11 @@ A poll event: ## Zap vote format -Poll options are voted on by sending [zap events](57.md) (to the original poll event) which include 1 additional `poll_option` tag within their otherwise standard [json structure](57.md#the-zap-note). +Poll options are voted on by sending [zap events](57.md) (to the original poll event) which include 1 additional `poll_option` tag in the zap request event. -Zap vote events (kind `9734` and `9735`): +The zap request event (kind `9734`): * MUST include exactly 1 `poll_option` tag * MUST reference the vote option by its corresponding integer `n`, chosen from the original poll event's list of predefined `polling_options` -* MUST transmit the exact `poll_option` between kind `9734` and `9735` ```json "tags": [