mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-11-13 23:39:08 -05:00
1.5 KiB
1.5 KiB
NIP-100
WebRTC
draft
optional
author:jacany
This NIP defines how to do WebRTC communication over nostr
Broadcasting that you are present
Announces that you are here, and ready to connect to others. The connection ID is inferred from the provided pubkey.
{
"kind": 25050,
"pubkey": "<sender pubkey>",
"tags": [
["type", "connect"]
]
}
Closing
{
"kind": 25050,
"pubkey": "<sender pubkey>",
"tags": [
["type", "disconnect"]
]
}
Offering to connect
Used when responding to a type:connect
. Offering to connect to that peer.
{
"kind": 25050,
"pubkey": "<sender pubkey>",
"tags": [
["type", "offer"],
["p", "<reciever pubkey>"]
],
"content": {
"offer": "<offer>",
"type": "offer"
}
}
Answering an Offer
{
"kind": 25050,
"pubkey": "<sender pubkey>",
"tags": [
["type", "answer"],
["p", "<reciever pubkey>"]
],
"content": {
"sdp": "<sdp>",
"type": "answer"
}
}
Broadcasting ICE Candidate
{
"kind": 25050,
"pubkey": "<sender pubkey>",
"tags": [
["type", "answer"],
["p", "<reciever pubkey>"]
],
"content": {
"candidate": "<sdp>",
<misc>
}
}
Essentially, just directly feed what comes out of the WebRTC functions straight into the content
field. It makes things cleaner and easier.