diff options
| author | Alex Gleason <alex@alexgleason.me> | 2023-08-07 14:11:13 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-07 14:11:13 -0500 |
| commit | 33fcb7c9bcdc6179714a7bac35875d54bfa4e15f (patch) | |
| tree | ebc66d5691acd1ea9b0b4222484d3bcc12a657aa /48.md | |
| parent | b4cdc1a73d415c79c35655fa02f5e55cd1f2a60c (diff) | |
| parent | 064a79f6142326fa09cda411c15ceca997d37a03 (diff) | |
Merge pull request #693 from alexgleason/proxy
NIP-48: Proxy Tags
Diffstat (limited to '48.md')
| -rw-r--r-- | 48.md | 60 |
1 files changed, 60 insertions, 0 deletions
| @@ -0,0 +1,60 @@ | |||
| 1 | NIP-48 | ||
| 2 | ====== | ||
| 3 | |||
| 4 | Proxy Tags | ||
| 5 | ---------- | ||
| 6 | |||
| 7 | `draft` `optional` `author:alexgleason` | ||
| 8 | |||
| 9 | Nostr events bridged from other protocols such as ActivityPub can link back to the source object by including a `"proxy"` tag, in the form: | ||
| 10 | |||
| 11 | ``` | ||
| 12 | ["proxy", <id>, <protocol>] | ||
| 13 | ``` | ||
| 14 | |||
| 15 | Where: | ||
| 16 | |||
| 17 | - `<id>` is the ID of the source object. The ID format varies depending on the protocol. The ID must be universally unique, regardless of the protocol. | ||
| 18 | - `<protocol>` is the name of the protocol, e.g. `"activitypub"`. | ||
| 19 | |||
| 20 | Clients may use this information to reconcile duplicated content bridged from other protocols, or to display a link to the source object. | ||
| 21 | |||
| 22 | Proxy tags may be added to any event kind, and doing so indicates that the event did not originate on the Nostr protocol, and instead originated elsewhere on the web. | ||
| 23 | |||
| 24 | ### Supported protocols | ||
| 25 | |||
| 26 | This list may be extended in the future. | ||
| 27 | |||
| 28 | | Protocol | ID format | Example | | ||
| 29 | | -------- | --------- | ------- | | ||
| 30 | | `activitypub` | URL | `https://gleasonator.com/objects/9f524868-c1a0-4ee7-ad51-aaa23d68b526` | | ||
| 31 | | `atproto` | AT URI | `at://did:plc:zhbjlbmir5dganqhueg7y4i3/app.bsky.feed.post/3jt5hlibeol2i` | | ||
| 32 | | `rss` | URL with guid fragment | `https://soapbox.pub/rss/feed.xml#https%3A%2F%2Fsoapbox.pub%2Fblog%2Fmostr-fediverse-nostr-bridge` | | ||
| 33 | | `web` | URL | `https://twitter.com/jack/status/20` | | ||
| 34 | |||
| 35 | ### Examples | ||
| 36 | |||
| 37 | ActivityPub object: | ||
| 38 | |||
| 39 | ```json | ||
| 40 | { | ||
| 41 | "kind": 1, | ||
| 42 | "content": "I'm vegan btw", | ||
| 43 | "tags": [ | ||
| 44 | [ | ||
| 45 | "proxy", | ||
| 46 | "https://gleasonator.com/objects/8f6fac53-4f66-4c6e-ac7d-92e5e78c3e79", | ||
| 47 | "activitypub" | ||
| 48 | ] | ||
| 49 | ], | ||
| 50 | "pubkey": "79c2cae114ea28a981e7559b4fe7854a473521a8d22a66bbab9fa248eb820ff6", | ||
| 51 | "created_at": 1691091365, | ||
| 52 | "id": "55920b758b9c7b17854b6e3d44e6a02a83d1cb49e1227e75a30426dea94d4cb2", | ||
| 53 | "sig": "a72f12c08f18e85d98fb92ae89e2fe63e48b8864c5e10fbdd5335f3c9f936397a6b0a7350efe251f8168b1601d7012d4a6d0ee6eec958067cf22a14f5a5ea579" | ||
| 54 | } | ||
| 55 | ``` | ||
| 56 | |||
| 57 | ### See also | ||
| 58 | |||
| 59 | - [FEP-fffd: Proxy Objects](https://codeberg.org/fediverse/fep/src/branch/main/fep/fffd/fep-fffd.md) | ||
| 60 | - [Mostr bridge](https://mostr.pub/) \ No newline at end of file | ||