diff options
Diffstat (limited to '05.md')
| -rw-r--r-- | 05.md | 8 |
1 files changed, 4 insertions, 4 deletions
| @@ -6,11 +6,11 @@ Mapping Nostr keys to DNS-based internet identifiers | |||
| 6 | 6 | ||
| 7 | `final` `optional` | 7 | `final` `optional` |
| 8 | 8 | ||
| 9 | On events of kind `0` (`metadata`) one can specify the key `"nip05"` with an [internet identifier](https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.1) (an email-like address) as the value. Although there is a link to a very liberal "internet identifier" specification above, NIP-05 assumes the `<local-part>` part will be restricted to the characters `a-z0-9-_.`, case-insensitive. | 9 | On events of kind `0` (`user metadata`) one can specify the key `"nip05"` with an [internet identifier](https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.1) (an email-like address) as the value. Although there is a link to a very liberal "internet identifier" specification above, NIP-05 assumes the `<local-part>` part will be restricted to the characters `a-z0-9-_.`, case-insensitive. |
| 10 | 10 | ||
| 11 | Upon seeing that, the client splits the identifier into `<local-part>` and `<domain>` and use these values to make a GET request to `https://<domain>/.well-known/nostr.json?name=<local-part>`. | 11 | Upon seeing that, the client splits the identifier into `<local-part>` and `<domain>` and use these values to make a GET request to `https://<domain>/.well-known/nostr.json?name=<local-part>`. |
| 12 | 12 | ||
| 13 | The result should be a JSON document object with a key `"names"` that should then be a mapping of names to hex formatted public keys. If the public key for the given `<name>` matches the `pubkey` from the `metadata` event, the client then concludes that the given pubkey can indeed be referenced by its identifier. | 13 | The result should be a JSON document object with a key `"names"` that should then be a mapping of names to hex formatted public keys. If the public key for the given `<name>` matches the `pubkey` from the `user's metadata` event, the client then concludes that the given pubkey can indeed be referenced by its identifier. |
| 14 | 14 | ||
| 15 | ### Example | 15 | ### Example |
| 16 | 16 | ||
| @@ -35,7 +35,7 @@ It will make a GET request to `https://example.com/.well-known/nostr.json?name=b | |||
| 35 | } | 35 | } |
| 36 | ```` | 36 | ```` |
| 37 | 37 | ||
| 38 | or with the **optional** `"relays"` attribute: | 38 | or with the **recommended** `"relays"` attribute: |
| 39 | 39 | ||
| 40 | ```json | 40 | ```json |
| 41 | { | 41 | { |
| @@ -50,7 +50,7 @@ or with the **optional** `"relays"` attribute: | |||
| 50 | 50 | ||
| 51 | If the pubkey matches the one given in `"names"` (as in the example above) that means the association is right and the `"nip05"` identifier is valid and can be displayed. | 51 | If the pubkey matches the one given in `"names"` (as in the example above) that means the association is right and the `"nip05"` identifier is valid and can be displayed. |
| 52 | 52 | ||
| 53 | The optional `"relays"` attribute may contain an object with public keys as properties and arrays of relay URLs as values. When present, that can be used to help clients learn in which relays the specific user may be found. Web servers which serve `/.well-known/nostr.json` files dynamically based on the query string SHOULD also serve the relays data for any name they serve in the same reply when that is available. | 53 | The recommended `"relays"` attribute may contain an object with public keys as properties and arrays of relay URLs as values. When present, that can be used to help clients learn in which relays the specific user may be found. Web servers which serve `/.well-known/nostr.json` files dynamically based on the query string SHOULD also serve the relays data for any name they serve in the same reply when that is available. |
| 54 | 54 | ||
| 55 | ## Finding users from their NIP-05 identifier | 55 | ## Finding users from their NIP-05 identifier |
| 56 | 56 | ||