NIP-75 definisce un evento di obiettivo di raccolta fondi verso cui gli utenti possono inviare zap. Un obiettivo dichiara un importo target in millisatoshi e una lista di relay sui quali vengono conteggiate le ricevute zap relative all’obiettivo. Qualunque zap NIP-57 che faccia riferimento all’evento dell’obiettivo contribuisce al suo avanzamento.

Come funziona

Uno zap goal è un evento kind:9041. Il .content è una descrizione leggibile da esseri umani. I tag richiesti sono amount (target in millisats) e relays (lista di relay usata per contare le ricevute zap). I tag facoltativi includono closed_at per chiudere il conteggio a un dato timestamp, image e summary. L’obiettivo puo anche includere un tag r o a che punta a un URL esterno o a un evento addressable e puo portare più pubkey beneficiarie tramite gli zap-split tag presi dall’appendice G di NIP-57.

{
  "id": "<64-char hex>",
  "pubkey": "<64-char hex>",
  "created_at": 1776500000,
  "kind": 9041,
  "tags": [
    ["relays", "wss://alicerelay.example.com", "wss://bobrelay.example.com"],
    ["amount", "210000"],
    ["image", "<image url>"],
    ["summary", "Nostrasia travel expenses"]
  ],
  "content": "Nostrasia travel expenses",
  "sig": "<128-char hex>"
}

I client collegano uno zap a un obiettivo includendo un tag e che punta all’evento dell’obiettivo dentro la zap request. L’avanzamento dell’obiettivo è la somma degli importi delle ricevute zap corrispondenti sui relay specificati dall’obiettivo. Quando è impostato closed_at, le ricevute zap pubblicate dopo quel timestamp non vengono conteggiate.

Implementazioni

  • Amethyst ora mostra barre di avanzamento dell’obiettivo e pulsanti zap con un tocco nelle intestazioni dei live stream tramite PR #2469, che collega NIP-75 alla schermata Live Activities di NIP-53.

Fonti primarie:

Menzionato in:

Vedi anche: