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)
|
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
|
#### Methods
|
||||||
|
|
||||||
- **get_public_key**
|
- **get_public_key**
|
||||||
@@ -299,33 +306,6 @@ Clients SHOULD save the user pubkey locally and avoid calling the `get_public_ke
|
|||||||
|
|
||||||
#### Methods
|
#### 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**
|
- **sign_event**
|
||||||
- params:
|
- 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