From 66c5cc637f118add2d2cade2210d21da7e25917b Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sun, 27 Oct 2024 19:43:43 -0400 Subject: [PATCH 01/17] Instagram feeds --- 68.md | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 68.md diff --git a/68.md b/68.md new file mode 100644 index 0000000..22509e0 --- /dev/null +++ b/68.md @@ -0,0 +1,70 @@ +NIP-68 +====== + +Picture-first feeds +------------------- + +`draft` `optional` + +This NIP defines event kind `20` for picture-first clients. Images must be self-contained. They are hosted externally and referenced using `imeta` tags + +Unlike a `kind 1` event with a pircture attached, Picture events are meant to contain all additional metadata concerning the subject media and to be surfaced in picture-specific clients rather than general micro-blogging clients. The thought is for events of this kind to be referenced in a Instagram/Flickr/Snapshat/9gag like nostr client where the picture itself is at the center of the experience. + +## Picture Events + +Picture events contain a `title` tag and description in the `.content`. + +They may contain multiple images to be displayed as a single post. + +```jsonc +{ + "id": <32-bytes lowercase hex-encoded SHA-256 of the the serialized event data>, + "pubkey": <32-bytes lowercase hex-encoded public key of the event creator>, + "created_at": , + "kind": 20, + "content": "", + "tags": [ + ["title", ""], + + // Picture Data + [ + "imeta", + "url https://nostr.build/i/my-image.jpg", + "m image/jpeg", + "blurhash eVF$^OI:${M{o#*0-nNFxakD-?xVM}WEWB%iNKxvR-oetmo#R-aen$", + "dim 3024x4032", + "alt A scenic photo overlooking the coast of Costa Rica", + "x ", + "fallback https://nostrcheck.me/alt1.jpg", + "fallback https://void.cat/alt1.jpg" + ], + [ + "imeta", + "url https://nostr.build/i/my-image2.jpg", + "m image/jpeg", + "blurhash eVF$^OI:${M{o#*0-nNFxakD-?xVM}WEWB%iNKxvR-oetmo#R-aen$", + "dim 3024x4032", + "alt Another scenic photo overlooking the coast of Costa Rica", + "x ", + "fallback https://nostrcheck.me/alt2.jpg", + "fallback https://void.cat/alt2.jpg", + + "annotate-user <32-bytes hex of a pubkey>::" // Tag users in specific locations in the picture + ], + + ["content-warning", ""], // if NSFW + + // Tagged users + ["p", "<32-bytes hex of a pubkey>", ""], + ["p", "<32-bytes hex of a pubkey>", ""], + + // Hashtags + ["t", ""], + ["t", ""], + ] +} +``` + +The `imeta` tag `annotate-user` places a user link in the specific position in the image. + +Picture events might be used with [NIP-71](71.md)'s kind `34236` to display short vertical videos in the same feed. \ No newline at end of file From 9517ac6f5dfac58bd7237777680c557bd518dc84 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sun, 27 Oct 2024 20:30:27 -0400 Subject: [PATCH 02/17] Enforces certain media types --- 68.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/68.md b/68.md index 22509e0..dcc56f1 100644 --- a/68.md +++ b/68.md @@ -58,6 +58,9 @@ They may contain multiple images to be displayed as a single post. ["p", "<32-bytes hex of a pubkey>", ""], ["p", "<32-bytes hex of a pubkey>", ""], + // Specify the media type for filters to allow clients to filter by supported kinds + ["m", "image/jpeg"] + // Hashtags ["t", ""], ["t", ""], @@ -67,4 +70,12 @@ They may contain multiple images to be displayed as a single post. The `imeta` tag `annotate-user` places a user link in the specific position in the image. +Only the following media types are accepted: +- `image/apng`: Animated Portable Network Graphics (APNG) +- `image/avif`: AV1 Image File Format (AVIF) +- `image/gif`: Graphics Interchange Format (GIF) +- `image/jpeg`: Joint Photographic Expert Group image (JPEG) +- `image/png`: Portable Network Graphics (PNG) +- `image/webp`: Web Picture format (WEBP) + Picture events might be used with [NIP-71](71.md)'s kind `34236` to display short vertical videos in the same feed. \ No newline at end of file From 5c7aad212ea44605d64e360be89ea5a1d843a3f8 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Mon, 28 Oct 2024 15:51:54 -0400 Subject: [PATCH 03/17] Adds language tag for images that contain text. --- 68.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/68.md b/68.md index dcc56f1..0ba4459 100644 --- a/68.md +++ b/68.md @@ -64,6 +64,10 @@ They may contain multiple images to be displayed as a single post. // Hashtags ["t", ""], ["t", ""], + + // When text is written in the image, add the tag to represent the language + ["L", "ISO-639-1"], + ["l", "en", "ISO-639-1"] ] } ``` From 82291c6afda8498ac6f4ddb1d14289f9edb8f8ae Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 30 Oct 2024 11:50:21 -0400 Subject: [PATCH 04/17] adds location --- 68.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/68.md b/68.md index 0ba4459..8a87848 100644 --- a/68.md +++ b/68.md @@ -65,6 +65,10 @@ They may contain multiple images to be displayed as a single post. ["t", ""], ["t", ""], + // location + ["location", ""], // city name, state, country + ["g", ""], + // When text is written in the image, add the tag to represent the language ["L", "ISO-639-1"], ["l", "en", "ISO-639-1"] From a8dfdff753a30f0845d6b9729cdbae3ad37a3f8e Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Fri, 15 Nov 2024 08:15:30 -0500 Subject: [PATCH 05/17] Adds x tag to index by sha256 Co-authored-by: Pablo Fernandez --- 68.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/68.md b/68.md index 8a87848..2950712 100644 --- a/68.md +++ b/68.md @@ -59,7 +59,8 @@ They may contain multiple images to be displayed as a single post. ["p", "<32-bytes hex of a pubkey>", ""], // Specify the media type for filters to allow clients to filter by supported kinds - ["m", "image/jpeg"] + ["m", "image/jpeg"], + ["x", ""] // Hashtags ["t", ""], From dfd2c2b8ca86821485f9bbcd3b1397e211c294e5 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Fri, 15 Nov 2024 08:28:54 -0500 Subject: [PATCH 06/17] Minor changes to simplify the text --- 68.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/68.md b/68.md index 2950712..6c1e7d2 100644 --- a/68.md +++ b/68.md @@ -6,9 +6,9 @@ Picture-first feeds `draft` `optional` -This NIP defines event kind `20` for picture-first clients. Images must be self-contained. They are hosted externally and referenced using `imeta` tags +This NIP defines event kind `20` for picture-first clients. Images must be self-contained. They are hosted externally and referenced using `imeta` tags. -Unlike a `kind 1` event with a pircture attached, Picture events are meant to contain all additional metadata concerning the subject media and to be surfaced in picture-specific clients rather than general micro-blogging clients. The thought is for events of this kind to be referenced in a Instagram/Flickr/Snapshat/9gag like nostr client where the picture itself is at the center of the experience. +The idea is for this type of event to cater to Nostr clients resembling platforms like Instagram, Flickr, Snapchat, or 9GAG, where the picture itself takes center stage in the user experience. ## Picture Events @@ -60,6 +60,8 @@ They may contain multiple images to be displayed as a single post. // Specify the media type for filters to allow clients to filter by supported kinds ["m", "image/jpeg"], + + // Hashes of each image to make them queryable ["x", ""] // Hashtags @@ -87,4 +89,4 @@ Only the following media types are accepted: - `image/png`: Portable Network Graphics (PNG) - `image/webp`: Web Picture format (WEBP) -Picture events might be used with [NIP-71](71.md)'s kind `34236` to display short vertical videos in the same feed. \ No newline at end of file +Picture events might be used with [NIP-71](71.md)'s kind `34236` to display short vertical videos in the same feed. From 7976f8ab777a2bb6359ed64171309b4a0663bdf4 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Thu, 21 Nov 2024 08:48:32 -0800 Subject: [PATCH 07/17] Clarify nostrconnect metadata --- 46.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/46.md b/46.md index ce6764d..824059c 100644 --- a/46.md +++ b/46.md @@ -45,15 +45,25 @@ _remote-signer_ provides connection token in the form: bunker://?relay=&relay=&secret= ``` -_user_ passes this token to _client_, which then sends `connect` request to _remote-signer_ via the specified relays. Optional secret can be used for single successfully established connection only, _remote-signer_ SHOULD ignore new attempts to establish connection with old secret. +_user_ passes this token to _client_, which then sends `connect` request to _remote-signer_ via the specified relays. Optional secret can be used for single successfully established connection only, _remote-signer_ SHOULD ignore new attempts to establish connection with old secret. ### Direct connection initiated by the _client_ -_client_ provides a connection token in the form: +_client_ provides a connection token using `nostrconnect://` as the protocol, and `client-pubkey` as the origin. Additional information should be passed as query parameters: + +- `relay` (required) - one or more relay urls on which the _client_ is listening for responses from the _remote-signer_. +- `secret` (required) - a short random string that the _remote-signer_ should return as the `result` field of its response. +- `perms` (optional) - a comma-separated list of permissions the _client_ is requesting be approved by the _remote-signer_ +- `name` (optional) - the name of the _client_ application +- `url` (optional) - the canonical url of the _client_ application +- `image` (optional) - a small image representing the _client_ application + +Here's an example: ``` -nostrconnect://?relay=&metadata=&secret= +nostrconnect://83f3b2ae6aa368e8275397b9c26cf550101d63ebaab900d19dd4a4429f5ad8f5?relay=wss%3A%2F%2Frelay1.example.com&perms=nip44_encrypt%2Cnip44_decrypt%2Csign_event%3A13%2Csign_event%3A14%2Csign_event%3A1059&name=My+Client&secret=0s8j2djs&relay=wss%3A%2F%2Frelay2.example2.com ``` + _user_ passes this token to _remote-signer_, which then sends `connect` *response* event to the `client-pubkey` via the specified relays. Client discovers `remote-signer-pubkey` from connect response author. `secret` value MUST be provided to avoid connection spoofing, _client_ MUST validate the `secret` returned by `connect` response. ## Request Events `kind: 24133` From 43767e1e531de51874889b4eab905409192c404e Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Fri, 22 Nov 2024 13:55:23 -0800 Subject: [PATCH 08/17] Add support for naming unmanaged groups --- 29.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/29.md b/29.md index a2c8ef2..331047f 100644 --- a/29.md +++ b/29.md @@ -22,15 +22,15 @@ Relays are supposed to generate the events that describe group metadata and grou A group may be identified by a string in the format `'`. For example, a group with _id_ `abcdef` hosted at the relay `wss://groups.nostr.com` would be identified by the string `groups.nostr.com'abcdef`. -Group identifiers must be strings restricted to the characters `a-z0-9-_`. +Group identifiers must be strings restricted to the characters `a-z0-9-_`, and SHOULD be random in order to avoid name collisions. -When encountering just the `` without the `'`, clients can choose to connect to the group with id `_`, which is a special top-level group dedicated to relay-local discussions. - -Group identifiers in most cases should be random or pseudo-random, as that mitigates message replay confusion and ensures they can be migrated or forked to other relays easily without risking conflicting with other groups using the same id in these new relays. This isn't a hard rule, as, for example, in `unmanaged` and/or ephemeral relays groups might not want to migrate ever, so they might not care about this. Notably, the `_` relay-local group isn't expected to be migrated ever. +When encountering just the `` without the `'`, clients MAY infer `_` as the group id, which is a special top-level group dedicated to relay-local discussions. ## The `h` tag -Events sent by users to groups (chat messages, text notes, moderation events etc) must have an `h` tag with the value set to the group _id_. +Events sent by users to groups (chat messages, text notes, moderation events etc) MUST have an `h` tag with the value set to the group _id_. + +`h` tags MAY include the group's name as the second argument. This allows `unmanaged` groups to be assigned human-readable names without relay support. ## Timeline references @@ -241,4 +241,4 @@ A definition for `kind:10009` was included in [NIP-51](51.md) that allows client ### Using `unmanaged` relays -To prevent event leakage, replay and confusion, when using `unmanaged` relays, clients should include the [NIP-70](70.md) `-` tag, as just the `previous` tag won't be checked by other `unmanaged` relays. +To prevent event leakage, when using `unmanaged` relays, clients should include the [NIP-70](70.md) `-` tag, as just the `previous` tag won't be checked by other `unmanaged` relays. From 0e44178961b36909338d3dca37ed3cba4a41e7f6 Mon Sep 17 00:00:00 2001 From: Asai Toshiya Date: Tue, 26 Nov 2024 00:34:00 +0900 Subject: [PATCH 09/17] update related to NIP-29. --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cbd45cf..5d1a47d 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,8 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos - [NIP-96: HTTP File Storage Integration](96.md) - [NIP-98: HTTP Auth](98.md) - [NIP-99: Classified Listings](99.md) +- [NIP-7D: Threads](7D.md) +- [NIP-C7: Chats](C7.md) ## Event Kinds @@ -107,9 +109,9 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos | `6` | Repost | [18](18.md) | | `7` | Reaction | [25](25.md) | | `8` | Badge Award | [58](58.md) | -| `9` | Group Chat Message | [29](29.md) | +| `9` | Chat Message | [C7](C7.md) | | `10` | Group Chat Threaded Reply | 29 (deprecated) | -| `11` | Group Thread | [29](29.md) | +| `11` | Thread | [7D](7D.md) | | `12` | Group Thread Reply | 29 (deprecated) | | `13` | Seal | [59](59.md) | | `14` | Direct Message | [17](17.md) | From 73f65133fcdcbf9f4d27cc7097963797c6250cd7 Mon Sep 17 00:00:00 2001 From: fiatjaf_ Date: Mon, 25 Nov 2024 13:21:47 -0300 Subject: [PATCH 10/17] add NIP-86: Relay Management API (#1325) Co-authored-by: Alex Gleason --- 86.md | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 1 + 2 files changed, 91 insertions(+) create mode 100644 86.md diff --git a/86.md b/86.md new file mode 100644 index 0000000..6f64eee --- /dev/null +++ b/86.md @@ -0,0 +1,90 @@ +NIP-86 +====== + +Relay Management API +-------------------- + +`draft` `optional` + +Relays may provide an API for performing management tasks. This is made available as a JSON-RPC-like request-response protocol over HTTP, on the same URI as the relay's websocket. + +When a relay receives an HTTP(s) request with a `Content-Type` header of `application/nostr+json+rpc` to a URI supporting WebSocket upgrades, it should parse the request as a JSON document with the following fields: + +```json +{ + "method": "", + "params": ["", "", ""] +} +``` + +Then it should return a response in the format + +```json +{ + "result": {"": ""}, + "error": "" +} +``` + +This is the list of **methods** that may be supported: + +* `supportedmethods`: + - params: `[]` + - result: `["", "", ...]` (an array with the names of all the other supported methods) +* `banpubkey`: + - params: `["<32-byte-hex-public-key>", ""]` + - result: `true` (a boolean always set to `true`) +* `listbannedpubkeys`: + - params: `[]` + - result: `[{"pubkey": "<32-byte-hex>", "reason": ""}, ...]`, an array of objects +* `allowpubkey`: + - params: `["<32-byte-hex-public-key>", ""]` + - result: `true` (a boolean always set to `true`) +* `listallowedpubkeys`: + - params: `[]` + - result: `[{"pubkey": "<32-byte-hex>", "reason": ""}, ...]`, an array of objects +* `listeventsneedingmoderation`: + - params: `[]` + - result: `[{"id": "<32-byte-hex>", "reason": ""}]`, an array of objects +* `allowevent`: + - params: `["<32-byte-hex-event-id>", ""]` + - result: `true` (a boolean always set to `true`) +* `banevent`: + - params: `["<32-byte-hex-event-id>", ""]` + - result: `true` (a boolean always set to `true`) +* `listbannedevents`: + - params: `[]` + - result: `[{"id": "<32-byte hex>", "reason": ""}, ...]`, an array of objects +* `changerelayname`: + - params: `[""]` + - result: `true` (a boolean always set to `true`) +* `changerelaydescription`: + - params: `[""]` + - result: `true` (a boolean always set to `true`) +* `changerelayicon`: + - params: `[""]` + - result: `true` (a boolean always set to `true`) +* `allowkind`: + - params: `[]` + - result: `true` (a boolean always set to `true`) +* `disallowkind`: + - params: `[]` + - result: `true` (a boolean always set to `true`) +* `listallowedkinds`: + - params: `[]` + - result: `[, ...]`, an array of numbers +* `blockip`: + - params: `["", ""]` + - result: `true` (a boolean always set to `true`) +* `unblockip`: + - params: `[""]` + - result: `true` (a boolean always set to `true`) +* `listblockedips`: + - params: `[]` + - result: `[{"ip": "", "reason": ""}, ...]`, an array of objects + +### Authorization + +The request must contain an `Authorization` header with a valid [NIP-98](./98.md) event, except the `payload` tag is required. The `u` tag is the relay URL. + +If `Authorization` is not provided or is invalid, the endpoint should return a 401 response. diff --git a/README.md b/README.md index 5d1a47d..9ef9fec 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos - [NIP-75: Zap Goals](75.md) - [NIP-78: Application-specific data](78.md) - [NIP-84: Highlights](84.md) +- [NIP-86: Relay Management API](86.md) - [NIP-89: Recommended Application Handlers](89.md) - [NIP-90: Data Vending Machines](90.md) - [NIP-92: Media Attachments](92.md) From 64624a62eac4b2ee3e6b9da34c1aa77a33e20852 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Fri, 22 Nov 2024 13:58:49 -0800 Subject: [PATCH 11/17] Add r to kind 10009 --- 51.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/51.md b/51.md index 3792d7f..4c0b1f4 100644 --- a/51.md +++ b/51.md @@ -29,7 +29,7 @@ For example, _mute list_ can contain the public keys of spammers and bad actors | Public chats | 10005 | [NIP-28](28.md) chat channels the user is in | `"e"` (kind:40 channel definitions) | | Blocked relays | 10006 | relays clients should never connect to | `"relay"` (relay URLs) | | Search relays | 10007 | relays clients should use when performing search queries | `"relay"` (relay URLs) | -| Simple groups | 10009 | [NIP-29](29.md) groups the user is in | `"group"` ([NIP-29](29.md) group ids + mandatory relay URL) | +| Simple groups | 10009 | [NIP-29](29.md) groups the user is in | `"group"` ([NIP-29](29.md) group id + relay URL), `"r"` for each relay in use | | Interests | 10015 | topics a user may be interested in and pointers | `"t"` (hashtags) and `"a"` (kind:30015 interest set) | | Emojis | 10030 | user preferred emojis and pointers to emoji sets | `"emoji"` (see [NIP-30](30.md)) and `"a"` (kind:30030 emoji set) | | DM relays | 10050 | Where to receive [NIP-17](17.md) direct messages | `"relay"` (see [NIP-17](17.md)) | From 821614aee1f0d7e6f618c5df6e626ea5981a906b Mon Sep 17 00:00:00 2001 From: Jesus Christ <120573631+Gudnessuche@users.noreply.github.com> Date: Wed, 27 Nov 2024 14:43:00 +0000 Subject: [PATCH 12/17] multi_pay_invoice method Response error (grammatical) The response section that explained how the multi_pay_invoice method worked had a grammatical error of explaining the differentiation between requests. changed ".....contains an d tag" to "...contains a d tag" --- 47.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/47.md b/47.md index 71cd076..d1030a4 100644 --- a/47.md +++ b/47.md @@ -175,7 +175,7 @@ Request: Response: For every invoice in the request, a separate response event is sent. To differentiate between the responses, each -response event contains an `d` tag with the id of the invoice it is responding to, if no id was given, then the +response event contains a `d` tag with the id of the invoice it is responding to, if no id was given, then the payment hash of the invoice should be used. ```jsonc From 6acf1c780a3fb348c6e5684f9eef3e98ffb3d156 Mon Sep 17 00:00:00 2001 From: stl1988 <35177539+stl1988@users.noreply.github.com> Date: Wed, 27 Nov 2024 23:28:50 +0100 Subject: [PATCH 13/17] Update README.md Add NIP-68 to the list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ef9fec..d362e6a 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos - [NIP-61: Nutzaps](61.md) - [NIP-64: Chess (PGN)](64.md) - [NIP-65: Relay List Metadata](65.md) +- [NIP-68: Picture-first feeds](68.md) - [NIP-69: Peer-to-peer Order events](69.md) - [NIP-70: Protected Events](70.md) - [NIP-71: Video Events](71.md) From aa2342bd9da9dcef382fbaf4c73060767b3eeab1 Mon Sep 17 00:00:00 2001 From: Asai Toshiya Date: Thu, 28 Nov 2024 20:24:01 +0900 Subject: [PATCH 14/17] Update BREAKING.md (#1615) --- BREAKING.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/BREAKING.md b/BREAKING.md index b4bd53d..c7ae2df 100644 --- a/BREAKING.md +++ b/BREAKING.md @@ -5,6 +5,11 @@ reverse chronological order. | Date | Commit | NIP | Change | | ----------- | --------- | -------- | ------ | +| 2024-11-12 | [2838e3bd](https://github.com/nostr-protocol/nips/commit/2838e3bd) | [NIP-29](29.md) | `kind: 12` and `kind: 10` were removed (use `kind: 1111` instead) | +| 2024-11-12 | [926a51e7](https://github.com/nostr-protocol/nips/commit/926a51e7) | [NIP-46](46.md) | NIP-05 login was removed | +| 2024-11-12 | [926a51e7](https://github.com/nostr-protocol/nips/commit/926a51e7) | [NIP-46](46.md) | `create_account` method was removed | +| 2024-11-12 | [926a51e7](https://github.com/nostr-protocol/nips/commit/926a51e7) | [NIP-46](46.md) | `connect` params and result were changed | +| 2024-10-29 | [f1e8d2c4](https://github.com/nostr-protocol/nips/commit/f1e8d2c4) | [NIP-46](46.md) | bunker URL should use `remote-signer-key` | | 2024-10-15 | [1cda2dcc](https://github.com/nostr-protocol/nips/commit/1cda2dcc) | [NIP-71](71.md) | some tags were replaced with `imeta` tag | | 2024-10-15 | [1cda2dcc](https://github.com/nostr-protocol/nips/commit/1cda2dcc) | [NIP-71](71.md) | `kind: 34237` was dropped | | 2024-10-07 | [7bb8997b](https://github.com/nostr-protocol/nips/commit/7bb8997b) | [NIP-55](55.md) | some fields and passing data were changed | @@ -60,4 +65,3 @@ Breaking changes prior to 2023-03-01 are not yet documented. - If it isn't clear that a change is breaking or not, we list it. - The date is the date it was merged, not necessarily the date of the commit. - From 0352f8487db8046542bbc04ba02e6153d34968be Mon Sep 17 00:00:00 2001 From: Asai Toshiya Date: Thu, 28 Nov 2024 23:45:47 +0900 Subject: [PATCH 15/17] remove "NIP-" prefixes. --- BREAKING.md | 106 ++++++++++++++++++++++++++-------------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/BREAKING.md b/BREAKING.md index c7ae2df..40391e0 100644 --- a/BREAKING.md +++ b/BREAKING.md @@ -5,59 +5,59 @@ reverse chronological order. | Date | Commit | NIP | Change | | ----------- | --------- | -------- | ------ | -| 2024-11-12 | [2838e3bd](https://github.com/nostr-protocol/nips/commit/2838e3bd) | [NIP-29](29.md) | `kind: 12` and `kind: 10` were removed (use `kind: 1111` instead) | -| 2024-11-12 | [926a51e7](https://github.com/nostr-protocol/nips/commit/926a51e7) | [NIP-46](46.md) | NIP-05 login was removed | -| 2024-11-12 | [926a51e7](https://github.com/nostr-protocol/nips/commit/926a51e7) | [NIP-46](46.md) | `create_account` method was removed | -| 2024-11-12 | [926a51e7](https://github.com/nostr-protocol/nips/commit/926a51e7) | [NIP-46](46.md) | `connect` params and result were changed | -| 2024-10-29 | [f1e8d2c4](https://github.com/nostr-protocol/nips/commit/f1e8d2c4) | [NIP-46](46.md) | bunker URL should use `remote-signer-key` | -| 2024-10-15 | [1cda2dcc](https://github.com/nostr-protocol/nips/commit/1cda2dcc) | [NIP-71](71.md) | some tags were replaced with `imeta` tag | -| 2024-10-15 | [1cda2dcc](https://github.com/nostr-protocol/nips/commit/1cda2dcc) | [NIP-71](71.md) | `kind: 34237` was dropped | -| 2024-10-07 | [7bb8997b](https://github.com/nostr-protocol/nips/commit/7bb8997b) | [NIP-55](55.md) | some fields and passing data were changed | -| 2024-08-18 | [3aff37bd](https://github.com/nostr-protocol/nips/commit/3aff37bd) | [NIP-54](54.md) | content should be Asciidoc | -| 2024-07-31 | [3ea2f1a4](https://github.com/nostr-protocol/nips/commit/3ea2f1a4) | [NIP-45](45.md) | [444ad28d](https://github.com/nostr-protocol/nips/commit/444ad28d) was reverted | -| 2024-07-30 | [444ad28d](https://github.com/nostr-protocol/nips/commit/444ad28d) | [NIP-45](45.md) | NIP-45 was deprecated | -| 2024-07-26 | [ecee40df](https://github.com/nostr-protocol/nips/commit/ecee40df) | [NIP-19](19.md) | `nrelay` was deprecated | -| 2024-07-23 | [0227a2cd](https://github.com/nostr-protocol/nips/commit/0227a2cd) | [NIP-01](01.md) | events should be sorted by id after created_at | -| 2024-06-06 | [58e94b20](https://github.com/nostr-protocol/nips/commit/58e94b20) | [NIP-25](25.md) | [8073c848](https://github.com/nostr-protocol/nips/commit/8073c848) was reverted | -| 2024-06-06 | [a6dfc7b5](https://github.com/nostr-protocol/nips/commit/a6dfc7b5) | [NIP-55](55.md) | NIP number was changed | -| 2024-05-25 | [5d1d1c17](https://github.com/nostr-protocol/nips/commit/5d1d1c17) | [NIP-71](71.md) | 'aes-256-gcm' tag was removed | -| 2024-05-07 | [8073c848](https://github.com/nostr-protocol/nips/commit/8073c848) | [NIP-25](25.md) | e-tags were changed to not include entire thread | -| 2024-04-30 | [bad88262](https://github.com/nostr-protocol/nips/commit/bad88262) | [NIP-34](34.md) | 'earliest-unique-commit' tag was removed (use 'r' tag instead) | -| 2024-02-25 | [4a171cb0](https://github.com/nostr-protocol/nips/commit/4a171cb0) | [NIP-18](18.md) | quote repost should use `q` tag | -| 2024-02-21 | [c6cd655c](https://github.com/nostr-protocol/nips/commit/c6cd655c) | [NIP-46](46.md) | Params were stringified | -| 2024-02-16 | [cbec02ab](https://github.com/nostr-protocol/nips/commit/cbec02ab) | [NIP-49](49.md) | Password first normalized to NFKC | -| 2024-02-15 | [afbb8dd0](https://github.com/nostr-protocol/nips/commit/afbb8dd0) | [NIP-39](39.md) | PGP identity was removed | -| 2024-02-07 | [d3dad114](https://github.com/nostr-protocol/nips/commit/d3dad114) | [NIP-46](46.md) | Connection token format was changed | -| 2024-01-30 | [1a2b21b6](https://github.com/nostr-protocol/nips/commit/1a2b21b6) | [NIP-59](59.md) | 'p' tag became optional | -| 2023-01-27 | [c2f34817](https://github.com/nostr-protocol/nips/commit/c2f34817) | [NIP-47](47.md) | optional expiration tag should be honored | -| 2024-01-10 | [3d8652ea](https://github.com/nostr-protocol/nips/commit/3d8652ea) | [NIP-02](02.md) | list entries should be chronological | -| 2024-01-10 | [3d8652ea](https://github.com/nostr-protocol/nips/commit/3d8652ea) | [NIP-51](51.md) | list entries should be chronological | -| 2023-12-30 | [29869821](https://github.com/nostr-protocol/nips/commit/29869821) | [NIP-52](52.md) | 'name' tag was removed (use 'title' tag instead) | -| 2023-12-27 | [17c67ef5](https://github.com/nostr-protocol/nips/commit/17c67ef5) | [NIP-94](94.md) | 'aes-256-gcm' tag was removed | -| 2023-12-03 | [0ba45895](https://github.com/nostr-protocol/nips/commit/0ba45895) | [NIP-01](01.md) | WebSocket status code `4000` was replaced by 'CLOSED' message | -| 2023-11-28 | [6de35f9e](https://github.com/nostr-protocol/nips/commit/6de35f9e) | [NIP-89](89.md) | 'client' tag value was changed | -| 2023-11-20 | [7822a8b1](https://github.com/nostr-protocol/nips/commit/7822a8b1) | [NIP-51](51.md) | `kind: 30000` and `kind: 30001` were deprecated | -| 2023-11-11 | [cbdca1e9](https://github.com/nostr-protocol/nips/commit/cbdca1e9) | [NIP-84](84.md) | 'range' tag was removed | -| 2023-11-10 | [c945d8bd](https://github.com/nostr-protocol/nips/commit/c945d8bd) | [NIP-32](32.md) | 'l' tag annotations was removed | -| 2023-11-07 | [108b7f16](https://github.com/nostr-protocol/nips/commit/108b7f16) | [NIP-01](01.md) | 'OK' message must have 4 items | -| 2023-10-17 | [cf672b76](https://github.com/nostr-protocol/nips/commit/cf672b76) | [NIP-03](03.md) | 'block' tag was removed | -| 2023-09-29 | [7dc6385f](https://github.com/nostr-protocol/nips/commit/7dc6385f) | [NIP-57](57.md) | optional 'a' tag was included in `zap receipt` | -| 2023-08-21 | [89915e02](https://github.com/nostr-protocol/nips/commit/89915e02) | [NIP-11](11.md) | 'min_prefix' was removed | -| 2023-08-20 | [37c4375e](https://github.com/nostr-protocol/nips/commit/37c4375e) | [NIP-01](01.md) | replaceable events with same timestamp should be retained event with lowest id | -| 2023-08-15 | [88ee873c](https://github.com/nostr-protocol/nips/commit/88ee873c) | [NIP-15](15.md) | 'countries' tag was renamed to 'regions' | -| 2023-08-14 | [72bb8a12](https://github.com/nostr-protocol/nips/commit/72bb8a12) | [NIP-12](12.md) | NIP-12, 16, 20 and 33 were merged into NIP-01 | -| 2023-08-14 | [72bb8a12](https://github.com/nostr-protocol/nips/commit/72bb8a12) | [NIP-16](16.md) | NIP-12, 16, 20 and 33 were merged into NIP-01 | -| 2023-08-14 | [72bb8a12](https://github.com/nostr-protocol/nips/commit/72bb8a12) | [NIP-20](20.md) | NIP-12, 16, 20 and 33 were merged into NIP-01 | -| 2023-08-14 | [72bb8a12](https://github.com/nostr-protocol/nips/commit/72bb8a12) | [NIP-33](33.md) | NIP-12, 16, 20 and 33 were merged into NIP-01 | -| 2023-08-11 | [d87f8617](https://github.com/nostr-protocol/nips/commit/d87f8617) | [NIP-25](25.md) | empty `content` should be considered as "+" | -| 2023-08-01 | [5d63b157](https://github.com/nostr-protocol/nips/commit/5d63b157) | [NIP-57](57.md) | 'zap' tag was changed | -| 2023-07-15 | [d1814405](https://github.com/nostr-protocol/nips/commit/d1814405) | [NIP-01](01.md) | `since` and `until` filters should be `since <= created_at <= until` | -| 2023-07-12 | [a1cd2bd8](https://github.com/nostr-protocol/nips/commit/a1cd2bd8) | [NIP-25](25.md) | custom emoji was supported | -| 2023-06-18 | [83cbd3e1](https://github.com/nostr-protocol/nips/commit/83cbd3e1) | [NIP-11](11.md) | 'image' was renamed to 'icon' | -| 2023-04-13 | [bf0a0da6](https://github.com/nostr-protocol/nips/commit/bf0a0da6) | [NIP-15](15.md) | different NIP was re-added as NIP-15 | -| 2023-04-09 | [fb5b7c73](https://github.com/nostr-protocol/nips/commit/fb5b7c73) | [NIP-15](15.md) | NIP-15 was merged into NIP-01 | -| 2023-03-29 | [599e1313](https://github.com/nostr-protocol/nips/commit/599e1313) | [NIP-18](18.md) | NIP-18 was bring back | -| 2023-03-15 | [e1004d3d](https://github.com/nostr-protocol/nips/commit/e1004d3d) | [NIP-19](19.md) | `1: relay` was changed to optionally | +| 2024-11-12 | [2838e3bd](https://github.com/nostr-protocol/nips/commit/2838e3bd) | [29](29.md) | `kind: 12` and `kind: 10` were removed (use `kind: 1111` instead) | +| 2024-11-12 | [926a51e7](https://github.com/nostr-protocol/nips/commit/926a51e7) | [46](46.md) | NIP-05 login was removed | +| 2024-11-12 | [926a51e7](https://github.com/nostr-protocol/nips/commit/926a51e7) | [46](46.md) | `create_account` method was removed | +| 2024-11-12 | [926a51e7](https://github.com/nostr-protocol/nips/commit/926a51e7) | [46](46.md) | `connect` params and result were changed | +| 2024-10-29 | [f1e8d2c4](https://github.com/nostr-protocol/nips/commit/f1e8d2c4) | [46](46.md) | bunker URL should use `remote-signer-key` | +| 2024-10-15 | [1cda2dcc](https://github.com/nostr-protocol/nips/commit/1cda2dcc) | [71](71.md) | some tags were replaced with `imeta` tag | +| 2024-10-15 | [1cda2dcc](https://github.com/nostr-protocol/nips/commit/1cda2dcc) | [71](71.md) | `kind: 34237` was dropped | +| 2024-10-07 | [7bb8997b](https://github.com/nostr-protocol/nips/commit/7bb8997b) | [55](55.md) | some fields and passing data were changed | +| 2024-08-18 | [3aff37bd](https://github.com/nostr-protocol/nips/commit/3aff37bd) | [54](54.md) | content should be Asciidoc | +| 2024-07-31 | [3ea2f1a4](https://github.com/nostr-protocol/nips/commit/3ea2f1a4) | [45](45.md) | [444ad28d](https://github.com/nostr-protocol/nips/commit/444ad28d) was reverted | +| 2024-07-30 | [444ad28d](https://github.com/nostr-protocol/nips/commit/444ad28d) | [45](45.md) | NIP-45 was deprecated | +| 2024-07-26 | [ecee40df](https://github.com/nostr-protocol/nips/commit/ecee40df) | [19](19.md) | `nrelay` was deprecated | +| 2024-07-23 | [0227a2cd](https://github.com/nostr-protocol/nips/commit/0227a2cd) | [01](01.md) | events should be sorted by id after created_at | +| 2024-06-06 | [58e94b20](https://github.com/nostr-protocol/nips/commit/58e94b20) | [25](25.md) | [8073c848](https://github.com/nostr-protocol/nips/commit/8073c848) was reverted | +| 2024-06-06 | [a6dfc7b5](https://github.com/nostr-protocol/nips/commit/a6dfc7b5) | [55](55.md) | NIP number was changed | +| 2024-05-25 | [5d1d1c17](https://github.com/nostr-protocol/nips/commit/5d1d1c17) | [71](71.md) | 'aes-256-gcm' tag was removed | +| 2024-05-07 | [8073c848](https://github.com/nostr-protocol/nips/commit/8073c848) | [25](25.md) | e-tags were changed to not include entire thread | +| 2024-04-30 | [bad88262](https://github.com/nostr-protocol/nips/commit/bad88262) | [34](34.md) | 'earliest-unique-commit' tag was removed (use 'r' tag instead) | +| 2024-02-25 | [4a171cb0](https://github.com/nostr-protocol/nips/commit/4a171cb0) | [18](18.md) | quote repost should use `q` tag | +| 2024-02-21 | [c6cd655c](https://github.com/nostr-protocol/nips/commit/c6cd655c) | [46](46.md) | Params were stringified | +| 2024-02-16 | [cbec02ab](https://github.com/nostr-protocol/nips/commit/cbec02ab) | [49](49.md) | Password first normalized to NFKC | +| 2024-02-15 | [afbb8dd0](https://github.com/nostr-protocol/nips/commit/afbb8dd0) | [39](39.md) | PGP identity was removed | +| 2024-02-07 | [d3dad114](https://github.com/nostr-protocol/nips/commit/d3dad114) | [46](46.md) | Connection token format was changed | +| 2024-01-30 | [1a2b21b6](https://github.com/nostr-protocol/nips/commit/1a2b21b6) | [59](59.md) | 'p' tag became optional | +| 2023-01-27 | [c2f34817](https://github.com/nostr-protocol/nips/commit/c2f34817) | [47](47.md) | optional expiration tag should be honored | +| 2024-01-10 | [3d8652ea](https://github.com/nostr-protocol/nips/commit/3d8652ea) | [02](02.md) | list entries should be chronological | +| 2024-01-10 | [3d8652ea](https://github.com/nostr-protocol/nips/commit/3d8652ea) | [51](51.md) | list entries should be chronological | +| 2023-12-30 | [29869821](https://github.com/nostr-protocol/nips/commit/29869821) | [52](52.md) | 'name' tag was removed (use 'title' tag instead) | +| 2023-12-27 | [17c67ef5](https://github.com/nostr-protocol/nips/commit/17c67ef5) | [94](94.md) | 'aes-256-gcm' tag was removed | +| 2023-12-03 | [0ba45895](https://github.com/nostr-protocol/nips/commit/0ba45895) | [01](01.md) | WebSocket status code `4000` was replaced by 'CLOSED' message | +| 2023-11-28 | [6de35f9e](https://github.com/nostr-protocol/nips/commit/6de35f9e) | [89](89.md) | 'client' tag value was changed | +| 2023-11-20 | [7822a8b1](https://github.com/nostr-protocol/nips/commit/7822a8b1) | [51](51.md) | `kind: 30000` and `kind: 30001` were deprecated | +| 2023-11-11 | [cbdca1e9](https://github.com/nostr-protocol/nips/commit/cbdca1e9) | [84](84.md) | 'range' tag was removed | +| 2023-11-10 | [c945d8bd](https://github.com/nostr-protocol/nips/commit/c945d8bd) | [32](32.md) | 'l' tag annotations was removed | +| 2023-11-07 | [108b7f16](https://github.com/nostr-protocol/nips/commit/108b7f16) | [01](01.md) | 'OK' message must have 4 items | +| 2023-10-17 | [cf672b76](https://github.com/nostr-protocol/nips/commit/cf672b76) | [03](03.md) | 'block' tag was removed | +| 2023-09-29 | [7dc6385f](https://github.com/nostr-protocol/nips/commit/7dc6385f) | [57](57.md) | optional 'a' tag was included in `zap receipt` | +| 2023-08-21 | [89915e02](https://github.com/nostr-protocol/nips/commit/89915e02) | [11](11.md) | 'min_prefix' was removed | +| 2023-08-20 | [37c4375e](https://github.com/nostr-protocol/nips/commit/37c4375e) | [01](01.md) | replaceable events with same timestamp should be retained event with lowest id | +| 2023-08-15 | [88ee873c](https://github.com/nostr-protocol/nips/commit/88ee873c) | [15](15.md) | 'countries' tag was renamed to 'regions' | +| 2023-08-14 | [72bb8a12](https://github.com/nostr-protocol/nips/commit/72bb8a12) | [12](12.md) | NIP-12, 16, 20 and 33 were merged into NIP-01 | +| 2023-08-14 | [72bb8a12](https://github.com/nostr-protocol/nips/commit/72bb8a12) | [16](16.md) | NIP-12, 16, 20 and 33 were merged into NIP-01 | +| 2023-08-14 | [72bb8a12](https://github.com/nostr-protocol/nips/commit/72bb8a12) | [20](20.md) | NIP-12, 16, 20 and 33 were merged into NIP-01 | +| 2023-08-14 | [72bb8a12](https://github.com/nostr-protocol/nips/commit/72bb8a12) | [33](33.md) | NIP-12, 16, 20 and 33 were merged into NIP-01 | +| 2023-08-11 | [d87f8617](https://github.com/nostr-protocol/nips/commit/d87f8617) | [25](25.md) | empty `content` should be considered as "+" | +| 2023-08-01 | [5d63b157](https://github.com/nostr-protocol/nips/commit/5d63b157) | [57](57.md) | 'zap' tag was changed | +| 2023-07-15 | [d1814405](https://github.com/nostr-protocol/nips/commit/d1814405) | [01](01.md) | `since` and `until` filters should be `since <= created_at <= until` | +| 2023-07-12 | [a1cd2bd8](https://github.com/nostr-protocol/nips/commit/a1cd2bd8) | [25](25.md) | custom emoji was supported | +| 2023-06-18 | [83cbd3e1](https://github.com/nostr-protocol/nips/commit/83cbd3e1) | [11](11.md) | 'image' was renamed to 'icon' | +| 2023-04-13 | [bf0a0da6](https://github.com/nostr-protocol/nips/commit/bf0a0da6) | [15](15.md) | different NIP was re-added as NIP-15 | +| 2023-04-09 | [fb5b7c73](https://github.com/nostr-protocol/nips/commit/fb5b7c73) | [15](15.md) | NIP-15 was merged into NIP-01 | +| 2023-03-29 | [599e1313](https://github.com/nostr-protocol/nips/commit/599e1313) | [18](18.md) | NIP-18 was bring back | +| 2023-03-15 | [e1004d3d](https://github.com/nostr-protocol/nips/commit/e1004d3d) | [19](19.md) | `1: relay` was changed to optionally | Breaking changes prior to 2023-03-01 are not yet documented. From f73496d510fd84ae04a874d370dc1aea505fb30c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=8E=9F=E6=99=B4=E5=A4=AA?= Date: Fri, 29 Nov 2024 15:13:14 +0000 Subject: [PATCH 16/17] NIP-46: Resolve conflict --- 46.md | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/46.md b/46.md index f1b0d6e..0826231 100644 --- a/46.md +++ b/46.md @@ -45,38 +45,26 @@ _リモート署名器_は、接続トークンを以下の形式で提供する bunker://?relay=&relay=&secret= ``` -<<<<<<< HEAD このトークンはユーザーによって_クライアント_に渡され、クライアントは指定されたリレーを介してリモート署名器に`connect`リクエストを送る。オプションのシークレットは、正常な1回の接続確立にのみ使用でき、_リモート署名者_は古いシークレットを用いて新たに接続を確立しようとする試みを無視するべきだ (SHOULD)。 -======= -_user_ passes this token to _client_, which then sends `connect` request to _remote-signer_ via the specified relays. Optional secret can be used for single successfully established connection only, _remote-signer_ SHOULD ignore new attempts to establish connection with old secret. ->>>>>>> upstream/master ### クライアントによって直接接続が開始される場合 -<<<<<<< HEAD -_クライアント_は次のような接続トークンを提供する: -======= -_client_ provides a connection token using `nostrconnect://` as the protocol, and `client-pubkey` as the origin. Additional information should be passed as query parameters: +_クライアント_ はプロトコルとして`nostrconnect://`、オリジンとして`client-pubkey`を使用する接続トークンを提供する。追加情報はクエリパラメータとして渡す必要がある: -- `relay` (required) - one or more relay urls on which the _client_ is listening for responses from the _remote-signer_. -- `secret` (required) - a short random string that the _remote-signer_ should return as the `result` field of its response. -- `perms` (optional) - a comma-separated list of permissions the _client_ is requesting be approved by the _remote-signer_ -- `name` (optional) - the name of the _client_ application -- `url` (optional) - the canonical url of the _client_ application -- `image` (optional) - a small image representing the _client_ application +- `relay` (必須) - _クライアント_ が _リモート署名器_ からの応答を待ち受ける1以上のリレーURL。 +- `secret` (必須) - _リモート署名器_ が応答の`result`フィールドとして返す短いランダムな文字列。 +- `perms` (任意) - _クライアント_ が _リモート署名器_ による承認を要求している権限のカンマ区切りのリスト。 +- `name` (任意) - _クライアント_ アプリケーションの名前 +- `url` (任意) - _クライアント_ アプリケーションの正規URL +- `image` (任意) - _クライアント_ アプリケーションを表す小さな画像 -Here's an example: ->>>>>>> upstream/master +以下に例を示す。 ``` nostrconnect://83f3b2ae6aa368e8275397b9c26cf550101d63ebaab900d19dd4a4429f5ad8f5?relay=wss%3A%2F%2Frelay1.example.com&perms=nip44_encrypt%2Cnip44_decrypt%2Csign_event%3A13%2Csign_event%3A14%2Csign_event%3A1059&name=My+Client&secret=0s8j2djs&relay=wss%3A%2F%2Frelay2.example2.com ``` -<<<<<<< HEAD -このトークンはユーザーによって_リモート署名器_に渡され、リモート署名器は指定されたリレーを介して`client-pubkey`に`connect`*応答*イベントを送る。クライアントは接続応答の作成者から`remote-signer-pubkey`を探す。接続相手のなりすましを防ぐために`secret`値を指定する必要があり (MUST) _クライアント_は`connect`応答によって得られた`secret`を検証する必要がある (MUST)。 -======= -_user_ passes this token to _remote-signer_, which then sends `connect` *response* event to the `client-pubkey` via the specified relays. Client discovers `remote-signer-pubkey` from connect response author. `secret` value MUST be provided to avoid connection spoofing, _client_ MUST validate the `secret` returned by `connect` response. ->>>>>>> upstream/master +このトークンはユーザーによって_リモート署名器_に渡され、リモート署名器は指定されたリレーを介して`client-pubkey`に`connect`*応答*イベントを送る。クライアントは接続応答の作成者から`remote-signer-pubkey`を探す。接続相手のなりすましを防ぐために`secret`値を指定する必要があり (MUST) _クライアント_は`connect`応答によって得られた`secret`を検証する必要がある (MUST)。 ## Request Events `kind: 24133` From ea1b6d98ef64501d3b127d133cf2fa7a4b3adfdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=8E=9F=E6=99=B4=E5=A4=AA?= Date: Fri, 29 Nov 2024 15:20:16 +0000 Subject: [PATCH 17/17] README: Resolve conflict --- README.md | 131 +++--------------------------------------------------- 1 file changed, 6 insertions(+), 125 deletions(-) diff --git a/README.md b/README.md index ce7256e..6497c0f 100644 --- a/README.md +++ b/README.md @@ -74,47 +74,29 @@ NIPsは、**Nostr Implementation Possibilities**の略称である。 - [NIP-57: Lightning Zaps](57.md) - [NIP-58: バッジ](58.md) - [NIP-59: Gift Wrap](59.md) -<<<<<<< HEAD - [NIP-60: カシューウォレット](60.md) - [NIP-61: ナッツzaps](61.md) - [NIP-64: チェス (PGN)](64.md) - [NIP-65: リレーリストメタデータ](65.md) +- [NIP-68: 画像第一フィード](68.md) - [NIP-72: Moderated Communities](72.md) - [NIP-73: External Content IDs](73.md) - [NIP-75: Zap Goals](75.md) - [NIP-78: アプリケーション固有データ](78.md) +- [NIP-86: リレー管理 API](86.md) - [NIP-84: ハイライト](84.md) - [NIP-89: 推奨アプリケーションハンドラ](89.md) - [NIP-90: データ自動販売機](90.md) -======= -- [NIP-60: Cashu Wallet](60.md) -- [NIP-61: Nutzaps](61.md) -- [NIP-64: Chess (PGN)](64.md) -- [NIP-65: Relay List Metadata](65.md) -- [NIP-68: Picture-first feeds](68.md) -- [NIP-69: Peer-to-peer Order events](69.md) -- [NIP-70: Protected Events](70.md) -- [NIP-71: Video Events](71.md) -- [NIP-72: Moderated Communities](72.md) -- [NIP-73: External Content IDs](73.md) -- [NIP-75: Zap Goals](75.md) -- [NIP-78: Application-specific data](78.md) -- [NIP-84: Highlights](84.md) -- [NIP-86: Relay Management API](86.md) -- [NIP-89: Recommended Application Handlers](89.md) -- [NIP-90: Data Vending Machines](90.md) ->>>>>>> upstream/master - [NIP-92: Media Attachments](92.md) - [NIP-94: ファイルメタデータ](94.md) - [NIP-96: HTTPファイルストレージインテグレーション](96.md) - [NIP-98: HTTP認証](98.md) - [NIP-99: Classified Listings](99.md) -- [NIP-7D: Threads](7D.md) -- [NIP-C7: Chats](C7.md) +- [NIP-7D: スレッド](7D.md) +- [NIP-C7: チャット](C7.md) ## Event Kinds -<<<<<<< HEAD | kind | description | NIP | | ------------- | -------------------------- | ------------------------ | | `0` | ユーザーメタデータ | [01](01.md) | @@ -126,9 +108,9 @@ NIPsは、**Nostr Implementation Possibilities**の略称である。 | `6` | リポスト | [18](18.md) | | `7` | リアクション | [25](25.md) | | `8` | バッジ・表彰 | [58](58.md) | -| `9` | グループチャットメッセージ | [29](29.md) | +| `9` | チャットメッセージ | [C7](C7.md) | | `10` | グループチャットスレッドリプライ | 29 (非推奨) | -| `11` | グループスレッド | [29](29.md) | +| `11` | スレッド | [7D](7D.md) | | `12` | グループスレッドリプライ | 29 (非推奨) | | `13` | 封緘 | [59](59.md) | | `14` | ダイレクトメッセージ | [17](17.md) | @@ -214,107 +196,6 @@ NIPsは、**Nostr Implementation Possibilities**の略称である。 | `30023` | 長文投稿 | [23](23.md) | | `30024` | 長文投稿の下書き | [23](23.md) | | `30030` | 絵文字セット | [51](51.md) | -======= -| kind | description | NIP | -| ------------- | ------------------------------- | -------------------------------------- | -| `0` | User Metadata | [01](01.md) | -| `1` | Short Text Note | [01](01.md) | -| `2` | Recommend Relay | 01 (deprecated) | -| `3` | Follows | [02](02.md) | -| `4` | Encrypted Direct Messages | [04](04.md) | -| `5` | Event Deletion Request | [09](09.md) | -| `6` | Repost | [18](18.md) | -| `7` | Reaction | [25](25.md) | -| `8` | Badge Award | [58](58.md) | -| `9` | Chat Message | [C7](C7.md) | -| `10` | Group Chat Threaded Reply | 29 (deprecated) | -| `11` | Thread | [7D](7D.md) | -| `12` | Group Thread Reply | 29 (deprecated) | -| `13` | Seal | [59](59.md) | -| `14` | Direct Message | [17](17.md) | -| `16` | Generic Repost | [18](18.md) | -| `17` | Reaction to a website | [25](25.md) | -| `40` | Channel Creation | [28](28.md) | -| `41` | Channel Metadata | [28](28.md) | -| `42` | Channel Message | [28](28.md) | -| `43` | Channel Hide Message | [28](28.md) | -| `44` | Channel Mute User | [28](28.md) | -| `64` | Chess (PGN) | [64](64.md) | -| `818` | Merge Requests | [54](54.md) | -| `1021` | Bid | [15](15.md) | -| `1022` | Bid confirmation | [15](15.md) | -| `1040` | OpenTimestamps | [03](03.md) | -| `1059` | Gift Wrap | [59](59.md) | -| `1063` | File Metadata | [94](94.md) | -| `1111` | Comment | [22](22.md) | -| `1311` | Live Chat Message | [53](53.md) | -| `1617` | Patches | [34](34.md) | -| `1621` | Issues | [34](34.md) | -| `1622` | Replies | [34](34.md) | -| `1630`-`1633` | Status | [34](34.md) | -| `1971` | Problem Tracker | [nostrocket][nostrocket] | -| `1984` | Reporting | [56](56.md) | -| `1985` | Label | [32](32.md) | -| `1986` | Relay reviews | | -| `1987` | AI Embeddings / Vector lists | [NKBIP-02] | -| `2003` | Torrent | [35](35.md) | -| `2004` | Torrent Comment | [35](35.md) | -| `2022` | Coinjoin Pool | [joinstr][joinstr] | -| `4550` | Community Post Approval | [72](72.md) | -| `5000`-`5999` | Job Request | [90](90.md) | -| `6000`-`6999` | Job Result | [90](90.md) | -| `7000` | Job Feedback | [90](90.md) | -| `7374` | Reserved Cashu Wallet Tokens | [60](60.md) | -| `7375` | Cashu Wallet Tokens | [60](60.md) | -| `7376` | Cashu Wallet History | [60](60.md) | -| `9000`-`9030` | Group Control Events | [29](29.md) | -| `9041` | Zap Goal | [75](75.md) | -| `9321` | Nutzap | [61](61.md) | -| `9467` | Tidal login | [Tidal-nostr] | -| `9734` | Zap Request | [57](57.md) | -| `9735` | Zap | [57](57.md) | -| `9802` | Highlights | [84](84.md) | -| `10000` | Mute list | [51](51.md) | -| `10001` | Pin list | [51](51.md) | -| `10002` | Relay List Metadata | [65](65.md) | -| `10003` | Bookmark list | [51](51.md) | -| `10004` | Communities list | [51](51.md) | -| `10005` | Public chats list | [51](51.md) | -| `10006` | Blocked relays list | [51](51.md) | -| `10007` | Search relays list | [51](51.md) | -| `10009` | User groups | [51](51.md), [29](29.md) | -| `10015` | Interests list | [51](51.md) | -| `10019` | Nutzap Mint Recommendation | [61](61.md) | -| `10030` | User emoji list | [51](51.md) | -| `10050` | Relay list to receive DMs | [51](51.md), [17](17.md) | -| `10063` | User server list | [Blossom][blossom] | -| `10096` | File storage server list | [96](96.md) | -| `13194` | Wallet Info | [47](47.md) | -| `21000` | Lightning Pub RPC | [Lightning.Pub][lnpub] | -| `22242` | Client Authentication | [42](42.md) | -| `23194` | Wallet Request | [47](47.md) | -| `23195` | Wallet Response | [47](47.md) | -| `24133` | Nostr Connect | [46](46.md) | -| `24242` | Blobs stored on mediaservers | [Blossom][blossom] | -| `27235` | HTTP Auth | [98](98.md) | -| `30000` | Follow sets | [51](51.md) | -| `30001` | Generic lists | [51](51.md) | -| `30002` | Relay sets | [51](51.md) | -| `30003` | Bookmark sets | [51](51.md) | -| `30004` | Curation sets | [51](51.md) | -| `30005` | Video sets | [51](51.md) | -| `30007` | Kind mute sets | [51](51.md) | -| `30008` | Profile Badges | [58](58.md) | -| `30009` | Badge Definition | [58](58.md) | -| `30015` | Interest sets | [51](51.md) | -| `30017` | Create or update a stall | [15](15.md) | -| `30018` | Create or update a product | [15](15.md) | -| `30019` | Marketplace UI/UX | [15](15.md) | -| `30020` | Product sold as an auction | [15](15.md) | -| `30023` | Long-form Content | [23](23.md) | -| `30024` | Draft Long-form Content | [23](23.md) | -| `30030` | Emoji sets | [51](51.md) | ->>>>>>> upstream/master | `30040` | Modular Article Header | [NKBIP-01] | | `30041` | Modular Article Content | [NKBIP-01] | | `30063` | Release artifact sets | [51](51.md) |