diff --git a/35.md b/35.md new file mode 100644 index 0000000..42f8fcd --- /dev/null +++ b/35.md @@ -0,0 +1,41 @@ + +NIP-35 +====== + +User Discovery +-------------- + +`draft` `optional` `author:mikedilger` + +This NIP extends NIP-05 to facilitate a mechanism of user discovery that provides both public key information and relay information. + +This NIP does not modify any data or events within the nostr protocol. It only extends the contents of `https:///.well-known/nostr.json?name=` return values with additional relay information. + +With this NIP implemented, clients may then attempt to discover users via email-like addresses (see NIP-05) and potentially find what relays they post to along with their public key. + +### nostr.json contents + +NIP-05 specifies a `nostr.json` file with contents like this (refer to NIP-05): + +```json +{ + "names": { + "bob": "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9" + } +} +``` + +This NIP proposes an optional additional key like this: + +```` +{ + "names": { + "bob": "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9" + }, + "relays": { + "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9": [ "wss://relay.example.com", "wss://relay2.example.com" ] + }, +} +```` + +The `relays` key contains an object with public keys as properties and arrays of relays as values. diff --git a/README.md b/README.md index 8b3a994..61c1363 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ NIPs stand for **Nostr Implementation Possibilities**. They exist to document wh - [NIP-22: Event created_at Limits](22.md) - [NIP-25: Reactions](25.md) - [NIP-28: Public Chat](28.md) +- [NIP-35: User Discovery](35.md) ## Event Kinds