hzrd149 / nostrudel

A sandbox for exploring nostr
https://nostrudel.ninja/
MIT License
122 stars 34 forks source link

[FEATURE] Zapless Polls #186

Open vicariousdrama opened 1 month ago

vicariousdrama commented 1 month ago

Polls are an underutilized capability of nostr. Currently, Amethyst is the only client that I am aware of that has implemented polls, but unfortunately they are in the zap-based format as outlined in https://github.com/nostr-protocol/nips/pull/320.

It would be great if polls made their way into additional Nostr clients. I would very much like to see polls, particularly in zapless format, be added to Nostrudel. This provides for wider reach across platforms vs being constrained to simply Android or iOS. Many people want polls but do not want to spend sats to participate. The arguments for requiring zap payments tend to focus on prevention of spam, but there is no technical constraint that keeps a bad actor from manipulating a poll as the author, or as a participant.

I propose that zapless polls be added to Nostrudel and follow the same general model as the zap based polls in RFC 69 (see pull request to nostr-protocol noted previously).

HOW

  1. Existing kind 6969 could be used with the value_maximum and value_minimum tags both be set to 0 to indicate the poll responses do not require zaps.
    2,. Under this model, voting may be tallied by reactions, which should match the poll_option value. For example, a poll_option "0" would increment if a reaction having content of "0" is sent by a voter, referencing the event of the poll.

Bounty (in Bitcoin sats) offered for the implementation

I (npub1yx6pjypd4r7qh2gysjhvjd9l2km6hnm4amdnjyjw3467fy05rf0qfp7kza) am offering 1_000_000 sats for this feature to be added to Nostrudel

Please advise if this should be broken down into multiple issues and bounties.