diff --git a/27.md b/27.md deleted file mode 100644 index 1b1a937..0000000 --- a/27.md +++ /dev/null @@ -1,67 +0,0 @@ -NIP-27 -====== - -Multicasting ------------- - -`draft` `optional` `author:cameri` - -A new tag `m` meaning `multicast group` allow for events to be addressed to a -group of clients simultaneously. Multicast in this scenario can be one-to-many -or many-to-many. - -A relay MUST forward events containing `m` tags strictly to clients subscribed -with a tag filter `#m` containing at least one of the values of such tags and -refrain from forwarding such events to clients without such filter. The value -of an `m` tag is case-sensitive. - -A client SHOULD send events containing `m` tags only to relays that explicitly -support NIP-27. A NIP-16 supporting client MAY test for the capability by -subscribing twice to a relay with and without the tag filter `#m` respectively -and sending an ephemeral event with a random `m` tag of equal value. - -## Events - -Clients targeting a multicast group MAY include an `m` tag with a value set to -an arbitrary string representing the multicast group. - -Suppose that Alice wants to multicast an event to a very special multicast group -that covers specific topics. The multicast group is identified by the following -string: `00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048` - -Alice would construct the following message and sends it to her favorite relay -which happens to support multicasting: - -```json -[ - "EVENT", - { - "id": "", - "pubkey": "", - "created_at": 1231469640, - "content": "Let's get the conversation started", - "tags": [ - ["m", "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048"], - ], - "sig": "" - } -] -``` - -## Subscriptions - -Clients subscribing to a multicast group MUST include an `#m` tag filter with -an array of multicast groups as values. - -Suppose that Bob and Charlie both share Alice's interest and would like to stay -up to date. Both would construct the following message to subscribe: - -``` -[ - "REQ", - "", - { - "#m": ["00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048"] - } -] -```