NIP-51 : Listes
NIP-51 définit les événements de liste pour organiser les utilisateurs, événements, relais, hashtags et autres références. C’est le protocole principal pour les signets, les listes de mutes, les ensembles de suivi, les ensembles de relais et plusieurs autres collections gérées par les utilisateurs.
Listes standard et ensembles
- Les listes standard utilisent des kinds d’événements remplaçables comme le kind
10000pour les listes de mutes, le kind10003pour les signets et le kind10007pour les relais de recherche. - Les ensembles utilisent des kinds adressables avec des tags
d, comme le kind30000pour les ensembles de suivi, le kind30003pour les ensembles de signets et le kind30030pour les ensembles d’emojis.
La distinction compte dans le comportement des clients. Les listes standard impliquent une seule liste canonique par utilisateur et par kind. Les ensembles impliquent plusieurs collections nommées, les clients doivent donc préserver le tag d de chaque liste.
Structure
Les listes utilisent des tags pour référencer le contenu :
- Tags
ppour les clés publiques - Tags
epour les événements - Tags
apour les événements adressables - Tags
tpour les hashtags - Tags
wordpour les mots mutés - Tags
relaypour les URLs de relais dans les kinds de listes orientés relais
Certains kinds de listes ont des formes de tags plus restreintes que d’autres. Par exemple, les listes orientées relais utilisent des tags relay, tandis que les signets sont censés pointer vers des notes ou des événements adressables. Les clients qui traitent chaque liste NIP-51 comme des tags libres arbitraires perdront en interopérabilité.
Public vs privé
Les listes peuvent avoir des tags publics et des éléments privés. Les éléments privés sont sérialisés comme un tableau JSON qui reproduit la structure des tags, chiffré et stocké dans le content de l’événement. La spécification actuelle utilise NIP-44 pour ce modèle d’auto-chiffrement, avec NIP-04 uniquement comme compatibilité ancienne.
Cette séparation permet aux utilisateurs de publier une enveloppe de liste visible tout en masquant certaines entrées. Une liste de signets peut rester publique tandis que les notes ou signets privés restent dans le contenu chiffré.
Kinds utiles
- Kind 10000 : liste de mutes pour les clés publiques, fils, hashtags et mots mutés
- Kind 10003 : signets pour les notes et le contenu adressable
- Kind 10007 : relais de recherche préférés
- Kind 30002 : ensembles de relais pour les groupes de relais nommés
- Kind 30006 : ensembles de curation d’images
- Kind 39089 : starter packs pour les lots de suivi partageables
Des changements récents de la spécification ont déplacé les hashtags hors des signets génériques vers les ensembles d’intérêts, et ajouté le kind 30006 pour la curation d’images. Ces deux changements réduisent l’ambiguïté dans l’interprétation du contenu des listes par les clients.
Sources principales :
Mentionné dans :
- Newsletter #1 : NIP Updates
- Newsletter #2 : NIP Updates
- Newsletter #4 : NIP Deep Dive
- Newsletter #8 : njump Adds NIP-51 Support
Voir aussi :