mirror of
https://github.com/nostr-protocol/nips.git
synced 2026-07-22 07:48:25 +00:00
24 lines
1.4 KiB
Markdown
24 lines
1.4 KiB
Markdown
NIP-78
|
|
======
|
|
|
|
Arbitrary custom app data
|
|
-------------------------
|
|
|
|
`draft` `optional`
|
|
|
|
The goal of this NIP is to enable [remoteStorage](https://remotestorage.io/)-like capabilities for custom applications that do not care about interoperability.
|
|
|
|
Even though interoperability is great, some apps do not want or do not need interoperability, and it wouldn't make sense for them. Yet Nostr can still serve as a generalized data storage for these apps in a "bring your own database" way, for example: a user would open an app and somehow input their preferred relay for storage, which would then enable these apps to store application-specific data there.
|
|
|
|
## Nostr event
|
|
|
|
This NIP specifies the use of event kinds `30078` (an _addressable_ event) with a `d` tag containing some reference to the app name and context -- or any other arbitrary string. `content` and other `tags` can be anything or in any format.
|
|
|
|
It also defines the kind `78` (a _normal_ event) for when the app needs to store and query multiple events of the same type. Apps should use some unique tag (even a `d` tag) for grouping these events together.
|
|
|
|
## Some use cases
|
|
|
|
- User personal settings on Nostr clients (and other apps unrelated to Nostr)
|
|
- A way for client developers to propagate dynamic parameters to users without these having to update
|
|
- Personal private data generated by apps that have nothing to do with Nostr, but allow users to use Nostr relays as their personal database
|