upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfiatjaf <fiatjaf@gmail.com>2023-02-23 18:25:55 -0300
committerfiatjaf_ <fiatjaf@gmail.com>2023-03-01 10:03:25 -0300
commitc4949ea7078ec96a373f77f725267b36316ee9e4 (patch)
tree57d0c52e1845547afcf0fc1c8f47079710c7dc30
parentb549a9809f94ca703b3b63b73cdacc5407a2edd0 (diff)
NIP-78: app-specific data.
-rw-r--r--78.md21
-rw-r--r--README.md6
2 files changed, 25 insertions, 2 deletions
diff --git a/78.md b/78.md
new file mode 100644
index 0000000..175f66b
--- /dev/null
+++ b/78.md
@@ -0,0 +1,21 @@
1NIP-78
2======
3
4Arbitrary custom app data
5-------------------------
6
7`draft` `optional` `author:sandwich` `author:fiatjaf`
8
9The goal of this NIP is to enable [remoteStorage](https://remotestorage.io/)-like capabilities for custom applications that do not care about interoperability.
10
11Even though interoperability is great, some apps do not want or do not need interoperability, and it that 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.
12
13## Nostr event
14
15This NIP specifies the use of event kind `30078` (parameterized replaceable 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.
16
17## Some use cases
18
19 - User personal settings on Nostr clients (and other apps unrelated to Nostr)
20 - A way for client developers to propagate dynamic parameters to users without these having to update
21 - Personal private data generated by apps that have nothing to do with Nostr, but allow users to use Nostr relays as their personal database
diff --git a/README.md b/README.md
index 8ee8b85..91ad0e8 100644
--- a/README.md
+++ b/README.md
@@ -36,6 +36,7 @@ NIPs stand for **Nostr Implementation Possibilities**. They exist to document wh
36- [NIP-57: Lightning Zaps](57.md) 36- [NIP-57: Lightning Zaps](57.md)
37- [NIP-58: Badges](58.md) 37- [NIP-58: Badges](58.md)
38- [NIP-65: Relay List Metadata](65.md) 38- [NIP-65: Relay List Metadata](65.md)
39- [NIP-78: Application-specific data](78.md)
39 40
40## Event Kinds 41## Event Kinds
41| kind | description | NIP | 42| kind | description | NIP |
@@ -60,13 +61,14 @@ NIPs stand for **Nostr Implementation Possibilities**. They exist to document wh
60| 10002 | Relay List Metadata | [65](65.md) | 61| 10002 | Relay List Metadata | [65](65.md) |
61| 22242 | Client Authentication | [42](42.md) | 62| 22242 | Client Authentication | [42](42.md) |
62| 24133 | Nostr Connect | [46](46.md) | 63| 24133 | Nostr Connect | [46](46.md) |
64| 30008 | Profile Badges | [58](58.md) |
65| 30009 | Badge Definition | [58](58.md) |
63| 30023 | Long-form Content | [23](23.md) | 66| 30023 | Long-form Content | [23](23.md) |
67| 30078 | Application-specific Data | [78](78.md) |
64| 1000-9999 | Regular Events | [16](16.md) | 68| 1000-9999 | Regular Events | [16](16.md) |
65| 10000-19999 | Replaceable Events | [16](16.md) | 69| 10000-19999 | Replaceable Events | [16](16.md) |
66| 20000-29999 | Ephemeral Events | [16](16.md) | 70| 20000-29999 | Ephemeral Events | [16](16.md) |
67| 30000-39999 | Parameterized Replaceable Events | [33](33.md) | 71| 30000-39999 | Parameterized Replaceable Events | [33](33.md) |
68| 30008 | Profile Badges | [58](58.md) |
69| 30009 | Badge Definition | [58](58.md) |
70 72
71## Message types 73## Message types
72 74