mirror of
https://github.com/nostr-protocol/nips.git
synced 2025-12-19 13:08:50 +00:00
Compare commits
2 Commits
profile-hy
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
65a827dab3 | ||
|
|
7cafdbb0cf |
34
55.md
34
55.md
@@ -107,6 +107,13 @@ Send the Intent:
|
||||
launcher.launch(intent)
|
||||
```
|
||||
|
||||
### Initiating a connection
|
||||
|
||||
- Client send a get_public_key `Intent`
|
||||
- Signer responds with the user `pubkey` and it's `packageName`
|
||||
- Client saves the `pubkey` and `packageName` somewhere and NEVER calls `get_public_key` again
|
||||
- Client now can send `content resolvers` and `Intents` for the other methods
|
||||
|
||||
#### Methods
|
||||
|
||||
- **get_public_key**
|
||||
@@ -299,33 +306,6 @@ Clients SHOULD save the user pubkey locally and avoid calling the `get_public_ke
|
||||
|
||||
#### Methods
|
||||
|
||||
- **get_public_key**
|
||||
- params:
|
||||
|
||||
```kotlin
|
||||
val result = context.contentResolver.query(
|
||||
Uri.parse("content://com.example.signer.GET_PUBLIC_KEY"),
|
||||
listOf(hex_pub_key),
|
||||
null,
|
||||
null,
|
||||
null
|
||||
)
|
||||
```
|
||||
- result:
|
||||
- Will return the **pubkey** in the result column
|
||||
|
||||
```kotlin
|
||||
if (result == null) return
|
||||
|
||||
if (it.getColumnIndex("rejected") > -1) return
|
||||
|
||||
if (result.moveToFirst()) {
|
||||
val index = it.getColumnIndex("result")
|
||||
if (index < 0) return
|
||||
val pubkey = it.getString(index)
|
||||
}
|
||||
```
|
||||
|
||||
- **sign_event**
|
||||
- params:
|
||||
|
||||
|
||||
56
A4.md
Normal file
56
A4.md
Normal file
@@ -0,0 +1,56 @@
|
||||
NIP-A4
|
||||
======
|
||||
|
||||
Public Messages
|
||||
---------------
|
||||
|
||||
`draft` `optional`
|
||||
|
||||
This NIP defines kind `24` as a simple plaintext message to one or more Nostr users.
|
||||
|
||||
The `.content` contains the message. `p` tags identify one or more receivers.
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"pubkey": "<sender-pubkey>",
|
||||
"kind": 24,
|
||||
"tags": [
|
||||
["p", "<receiver>", "<relay-url>"],
|
||||
],
|
||||
"content": "<message-in-plain-text>",
|
||||
}
|
||||
```
|
||||
|
||||
Messages MUST be sent to the [NIP-65](65.md) inbox relays of each receiver and the outbox relay of the sender.
|
||||
|
||||
Kind `24` is designed to be shown and replied to from notification screens. The goal is to allow clients to
|
||||
support this feature without having to worry about chat history. There are no message chains. The concept of a
|
||||
"thread", a "thread root", or a "chatroom" does not exist in this system, as messages can start and continue
|
||||
without any syntactic connection to each other. `e` tags must not be used.
|
||||
|
||||
This kind is not designed to be displayed on feeds, but anyone can see and reply to messages that may not be for them.
|
||||
|
||||
## Advanced Support
|
||||
|
||||
[NIP-40](40.md) `expiration` tags are recommended. Since there is no concept of a chatroom, it is unlikely that these messages will
|
||||
make sense as time goes on.
|
||||
|
||||
[NIP-18](18.md) quote repost `q` tags MAY be used when citing events in the `.content` with [NIP-21](21.md).
|
||||
|
||||
```json
|
||||
["q", "<event-id> or <event-address>", "<relay-url>", "<pubkey-if-a-regular-event>"]
|
||||
```
|
||||
|
||||
[NIP-25](25.md) reactions MUST add a `k` tag to `24`.
|
||||
|
||||
[NIP-57](57.md) zaps MUST include the `k` tag to `24`
|
||||
|
||||
[NIP-21](21.md) links that use [NIP-19](19.md)'s `nevent1` MUST include a `kind` of `24`. Links that are not `kind:24` are not expected to be rendered natively by the client.
|
||||
|
||||
[NIP-92](92.md) `imeta` tags SHOULD be added for image and video links.
|
||||
|
||||
## Warnings
|
||||
|
||||
There MUST be no expectation of privacy in this kind. It is just a public reply, but without a root note.
|
||||
|
||||
Avoid confusing this kind with Kind `14` rumors in [NIP-17](17.md) DMs. This kind is signed and designed for public consumption.
|
||||
Reference in New Issue
Block a user