nips/101.md

60 lines
2.1 KiB
Markdown
Raw Normal View History

2023-11-17 08:32:22 -05:00
NIP-101
=======
Descriptor Note
---------------
`draft` `optional`
A new event type "1101" which is a note to describe "stuff" in a human readable way.
"Stuff" here, is represented by an identifier (a descriptor if you will) which most likely would be the hash of a data object.
2023-11-17 08:32:22 -05:00
Each line of this note type will have a specific purpose.
The first line is dedicated for the point we want to describe (as mentioned above)
The second line is meant for making a human readable name for the identifier from the first line.
The third line is meant for a label, meaning a short, one-liner, description of the object behind the identifier.
The remaining of the note is for a multi-line description of the object we describe.
Example:
```
1234567890abcdef1234567890abcdef
order-number_12345
webshop order of a T-shirt
"This is awesome" T-shirt in size L.
Ordered from the webshop (order number 12345)
Remember to pack sticker freebies.
```
The Descriptor Note can be ported to a Nostr note using the existing tags.
For kind 1101 tag p,n,l stands for point, name and label.
The multi-line description is kept in the content field.
Example:
```json
{"id":"905e339571caaabb57455fa33791a65d945d7371e2da81ff6aae923db8042ea0",
"pubkey":"84468de1424085f127ebd262b1d25df0c8196077ebfe76bb02c9deaf09687dee",
"created_at":1695458067,
"kind":1101,
"sig":"56ff6161bf2df122d1fe1c2c1576e8c355202e1e80db07c1168aca006ad7188562a7e89394cadf5c7f123007c7ce81ae72e9688fa19a365e2d66866157425b95",
"content":"This is awesome T-shirt in size L.
Ordered from the webshop (order number 12345)
Remember to pack sticker freebies.",
"tags":[
["p", ”1234567890abcdef1234567890abcdef],
["n", "order-number_12345"],
["l", "webshop order of a T-shirt"],
]}
```
2023-11-17 08:32:22 -05:00
It is mandatory to fill out the point field; the three other fields are optional.
Making the describing fields optional on protocol level should make the descriptor note format useful for a broader set of applications.
On application level the user/developer can use and constraint the three fields as it fits in that particular application.
2023-11-17 08:32:22 -05:00
For more info the Descriptor Note has its own website over here:
https://descriptor-note.surge.sh