nostr-protocol / nips

Nostr Implementation Possibilities
2.4k stars 583 forks source link

NIP-85: `d` Tag References in Addressable Events #1536

Open alexgleason opened 1 month ago

alexgleason commented 1 month ago

This is an alternative solution to https://github.com/nostr-protocol/nips/pull/1510 inspired by the discussion in https://github.com/nostr-protocol/nips/pull/1534

vitorpamplona commented 1 month ago

Can you clarify again what is this fixing? I went back into the old discussions but it's hard to find the actual problem.

alexgleason commented 1 month ago

@vitorpamplona Relay hints. Putting them on the d tag breaks conventions. People already have code that does things with "p" and "e" tags automatically, since they're considered "standardized tags". Querying with nak for example has special CLI flags for #p queries. Another example is using p-tags to connect nodes in a graph database. Semantically, it just should have them. This method ties them together. But it's only useful if people commit to doing it strictly so it can always be depended upon.

vitorpamplona commented 1 month ago

ohhh interesting..

Ack

staab commented 1 month ago

In pretty much every case I've seen it's better for d tags to be random. Maybe p/e tags would make sense though, since they're immutable, but what's the use case?

alexgleason commented 1 month ago

@staab In Ditto I need to manage records about other users and events, about things that don't make sense to use labels.

https://github.com/nostr-protocol/nips/pull/1534 is a good example. Also: https://docs.soapbox.pub/ditto/nsec#user-records

This probably doesn't deserve to be a NIP on its own, but https://github.com/nostr-protocol/nips/pull/1510 exists so I went for it.

arthurfranca commented 1 month ago

I think #1540 could be a better alternative