mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-23 00:45:53 -05:00
Generic way to represent a relational database
This commit is contained in:
parent
b224f6d05d
commit
f0fe3e59f7
37
41.md
Normal file
37
41.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
NIP-41
|
||||
======
|
||||
|
||||
Relational Database
|
||||
-------------------
|
||||
|
||||
`draft` `optional`
|
||||
|
||||
This NIP offers a plug-and-play method to export/sync information from existing systems using relational databases into Nostr.
|
||||
|
||||
Event kind `31200` represents a row in a database. Each value of the row is added as a tag whose name is the column's name.
|
||||
|
||||
Values can be public or encrypted to the user.
|
||||
|
||||
```js
|
||||
{
|
||||
"kind": 31200,
|
||||
"tags": [
|
||||
["d", "<row-private-key>"]
|
||||
["n", "<table-name>"]
|
||||
["u", "<database-name>"]
|
||||
["<column-name>", "<column-row-value>"]
|
||||
// other public columns
|
||||
],
|
||||
"content": nip44Encrypt(JSON.stringify((
|
||||
[
|
||||
["<column-name>", "<column-row-value>"]
|
||||
// other private columns
|
||||
]
|
||||
)),
|
||||
// .. other fields
|
||||
}
|
||||
```
|
||||
|
||||
Inserts and updates are supported via Nostr's regular signing operations and deletions via [NIP-09](09.md).
|
||||
|
||||
The pubkey MAY be own by the system and represent several users from that system.
|
Loading…
Reference in New Issue
Block a user