From f4be509e105b12b8a8a176d460a2e15f402870d2 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Mon, 10 Apr 2023 15:46:33 +0300 Subject: [PATCH] doc: describe event content --- 705.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/705.md b/705.md index 0bf038a0..76963767 100644 --- a/705.md +++ b/705.md @@ -18,25 +18,33 @@ Any client can ask its peers to re-publish messages on its behalf. The simplifie - `Alice` wants to chat with `Bob`. She builds the `kind:4` nostr event but does NOT sent it to the relay(s). - instead `Alice` creates a `kind:4` event for `Carol` where the content is the event for `Bob`. `Alice` publishes this event to the relay(s). - `Carol` receives the event, unwrapps it and publishes to the relay(s) the event for `Bob`. -- the relay(s) see the event as comming from `Carol` instead of `Alice` +- the relay(s) see the event as coming from `Carol` instead of `Alice` People can easily run very lightweight republish services for free and provide anonymity for everybody else. ## Implementation -Define a new very generic `republish` event with `kind:20001` (ephemeral) in the form: +Define a new [NIP-16](https://github.com/nostr-protocol/nips/blob/master/16.md) `republish` event with `kind:20001` (ephemeral) in the form: ```json { ... "kind": 20001, - "content": , + "content": , "tags": [ ["p", ], - ["relays", "wss://relay.com", "wss://otherrelay.com", "and so on, there could be many of these"] + ["relays", "wss://somerelay.com", "wss://otherrelay.com", "and so on, there could be many of these"] ] } ``` -Then whenever the chosen republisher sees a note like that they automatically decrypt it using NIP-04 method and publish it to the chosen relays. +Whenever the chosen `re-publisher` sees a note like that, they automatically decrypt it using [NIP-04](https://github.com/nostr-protocol/nips/blob/master/04.md) method and publish it to the chosen relays. - the chosen relays could (and probably should) be different from the relay used to broadcast the republish event. - there could be many republish events with the same underlying encrypted event. - there could be multiple nested levels of republish events. + +The JSON content (before encription) of the `kind:20001` event is of this form (other fields might later be added): +```json +{ + "events": [], + "padding": +} +```