Nostr Live Audio Spaces: Enable Zapping Participants

Work must build upon a free open source software (FOSS) project based on JAM Systems as a fork or contribution to this repository: https://github.com/diamsa/jam To satisfy this bounty

To satisfy conditions for this bounty, the following or appropriate variant should be implemented

  • Either contributions to https://github.com/diamsa/jam, or forked to a publicly accessible repository
  • Target an individual user within the space/room/nest of participants
  • If they do not have an npub, cancel and notify initiator
  • With an npub, lookup the most recent metadata (kind 0) from a set of relays, and parse the lightning address info from any valid lud06 or lud16 data.
  • If no lightning address can be determined, cancel and notify initiator
  • With a lightning address, parse and call the LNURL endpoint for payRequest per LUD-06.
  • If there is no response or error, cancel and notify initiator
  • Prompt the initiator for the amount of sats to send
  • Initiator can cancel
  • Prepare a zap request (kind 9734) to zap the pubkey. A comment could be “Zapping you in {url-to-audio-space}” or something to that effect. Even better, allow for input of a custom comment
  • Request initiator to sign event
  • Initiator can cancel
  • Send to callback to request invoice, using the nostr querystring argument. The value should be the uri encoded result of the json encoded signed event.
  • If there is no response or error, cancel and notify initiator
  • Present invoice to user in QR code and text form with convenience copy to clipboard actions

2023-12-08

  • updated to reflect this should build on or fork from https://github.com/diamsa/jam
  • updated to reflect the signed event should be uri encoded when passed as nostr querystring argument when calling the callback

No comments yet.