nips/78.md
2024-09-27 09:52:20 +09:00

33 lines
1.6 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 kind `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 is assumed that `30078` replaces the event itself when retrieved by a d tag. In contrast, we define `30079` as a continuous set of data. Events with the a `d` tag are not replaced, but treated as continuous data.
## Some use cases
### kind 30078
- 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
### kind 30079
- Count the number of posts to the relay per hour
- Bitcoin Chart
- Check-in date and time to check-in to checkpoints as activity log
- Chess game log