mirror of
https://github.com/nostr-protocol/nips.git
synced 2025-09-01 05:50:47 -04:00
reformat a bunch of json things and small nitpicks.
This commit is contained in:
30
53.md
30
53.md
@@ -6,17 +6,17 @@ Live Activities
|
||||
|
||||
`draft` `optional`
|
||||
|
||||
## Abstract
|
||||
|
||||
Service providers want to offer live activities to the Nostr network in such a way that participants can easily logged and queried by clients. This NIP describes a general framework to advertise the involvement of pubkeys in such live activities.
|
||||
|
||||
# Live Event
|
||||
## Concepts
|
||||
|
||||
### Live Event
|
||||
|
||||
A special event with `kind:30311` "Live Event" is defined as a _parameterized replaceable event_ of public `p` tags. Each `p` tag SHOULD have a **displayable** marker name for the current role (e.g. `Host`, `Speaker`, `Participant`) of the user in the event and the relay information MAY be empty. This event will be constantly updated as participants join and leave the activity.
|
||||
|
||||
For example:
|
||||
|
||||
```js
|
||||
```json
|
||||
{
|
||||
"kind": 30311,
|
||||
"tags": [
|
||||
@@ -38,7 +38,7 @@ For example:
|
||||
["relays", "wss://one.com", "wss://two.com", ...]
|
||||
],
|
||||
"content": "",
|
||||
...other fields
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
@@ -52,7 +52,7 @@ Live Activity management clients are expected to constantly update `kind:30311`
|
||||
|
||||
The activity MUST be linked to using the [NIP-19](19.md) `naddr` code along with the `a` tag.
|
||||
|
||||
## Proof of Agreement to Participate
|
||||
### Proof of Agreement to Participate
|
||||
|
||||
Event owners can add proof as the 5th term in each `p` tag to clarify the participant's agreement in joining the event. The proof is a signed SHA256 of the complete `a` Tag of the event (`kind:pubkey:dTag`) by each `p`'s private key, encoded in hex.
|
||||
|
||||
@@ -60,30 +60,28 @@ Clients MAY only display participants if the proof is available or MAY display p
|
||||
|
||||
This feature is important to avoid malicious event owners adding large account holders to the event, without their knowledge, to lure their followers into the malicious owner's trap.
|
||||
|
||||
# Live Chat Message
|
||||
### Live Chat Message
|
||||
|
||||
Event `kind:1311` is live chat's channel message. Clients MUST include the `a` tag of the activity with a `root` marker. Other Kind-1 tags such as `reply` and `mention` can also be used.
|
||||
|
||||
```js
|
||||
```json
|
||||
{
|
||||
"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": "<Unix timestamp in seconds>",
|
||||
"kind": 1311,
|
||||
"tags": [
|
||||
["a", "30311:<Community event author pubkey>:<d-identifier of the community>", "<Optional relay url>", "root"],
|
||||
],
|
||||
"content": "Zaps to live streams is beautiful."
|
||||
"content": "Zaps to live streams is beautiful.",
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
# Use Cases
|
||||
## Use Cases
|
||||
|
||||
Common use cases include meeting rooms/workshops, watch-together activities, or event spaces, such as [live.snort.social](https://live.snort.social) and [nostrnests.com](https://nostrnests.com).
|
||||
|
||||
# Example
|
||||
## Example
|
||||
|
||||
Live Streaming
|
||||
### Live Streaming
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -107,7 +105,7 @@ Live Streaming
|
||||
}
|
||||
```
|
||||
|
||||
Live Streaming chat message
|
||||
### Live Streaming chat message
|
||||
|
||||
```json
|
||||
{
|
||||
|
Reference in New Issue
Block a user