mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-11-10 06:09:08 -05:00
1.1 KiB
1.1 KiB
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.
The d
tag is used for the row's primary key, the n
tag places the row into an unbound list to represent the table and the u
tag references a database name.
Values can be public or encrypted to the user.
{
"kind": 31200,
"tags": [
["d", "<database-name:table-name:row-primary-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.
The pubkey MAY be own by the system and represent several users from that system.