NIP-51: Listen
NIP-51 definiert Listen-Events zum Organisieren von Benutzern, Events, Relays, Hashtags und anderen Referenzen. Es ist das wichtigste Protokoll fur Lesezeichen, Stummschaltlisten, Follow-Sets, Relay-Sets und mehrere andere vom Nutzer kuratierte Sammlungen.
Standardlisten und Sets
- Standardlisten verwenden ersetzbare Event-Kinds wie Kind
10000fur Stummschaltlisten, Kind10003fur Lesezeichen und Kind10007fur Search Relays. - Sets verwenden adressierbare Kinds mit
d-Tags, etwa Kind30000fur Follow-Sets, Kind30003fur Bookmark-Sets und Kind30030fur Emoji-Sets.
Diese Unterscheidung ist fur das Verhalten von Clients wichtig. Standardlisten implizieren eine kanonische Liste pro Nutzer und Kind. Sets implizieren viele benannte Sammlungen, deshalb mussen Clients das d-Tag jeder Liste erhalten.
Struktur
Listen verwenden Tags, um Inhalte zu referenzieren:
p-Tags fur Pubkeyse-Tags fur Eventsa-Tags fur adressierbare Eventst-Tags fur Hashtagsword-Tags fur stummgeschaltete Worterrelay-Tags fur Relay-URLs in relay-orientierten List-Kinds
Einige List-Kinds erlauben engere Tag-Formen als andere. Relay-orientierte Listen verwenden zum Beispiel relay-Tags, wahrend Lesezeichen auf Notizen oder adressierbare Events zeigen sollen. Clients, die jede NIP-51-Liste als beliebige Sammlung freier Tags behandeln, verlieren Interoperabilitat.
Offentlich vs. privat
Listen konnen offentliche Tags und private Eintrage enthalten. Private Eintrage werden als JSON-Array serialisiert, das die Struktur von tags spiegelt, verschlusselt und im Event-content gespeichert. Die aktuelle Spezifikation verwendet fur dieses Self-Encryption-Modell NIP-44, NIP-04 bleibt nur als Legacy-Kompatibilitat.
Diese Trennung erlaubt es Nutzern, eine sichtbare Listenhulle zu veroffentlichen und einzelne Eintrage trotzdem zu verbergen. Eine Lesezeichenliste kann offentlich sein, wahrend private Notizen oder private Lesezeichen im verschlusselten Inhalt bleiben.
Nutzliche Kinds
- Kind 10000: Stummschaltliste fur Pubkeys, Threads, Hashtags und stummgeschaltete Worter
- Kind 10003: Lesezeichen fur Notizen und adressierbare Inhalte
- Kind 10007: Bevorzugte Search Relays
- Kind 30002: Relay-Sets fur benannte Relay-Gruppen
- Kind 30006: Picture Curation Sets
- Kind 39089: Starter Packs fur teilbare Follow-Bundles
Jungere Anderungen an der Spezifikation haben Hashtags aus generischen Lesezeichen entfernt und in Interest Sets verschoben. AuBerdem wurde Kind 30006 fur Picture Curation hinzugefugt. Beides verringert Mehrdeutigkeit bei der Interpretation von Listeninhalten durch Clients.
Primarquellen:
Erwahnt in:
- Newsletter #1: NIP Updates
- Newsletter #2: NIP Updates
- Newsletter #4: NIP Deep Dive
- Newsletter #8: njump Adds NIP-51 Support
Siehe auch: