nips/1078.md

20 lines
851 B
Markdown
Raw Normal View History

2023-07-14 12:14:53 -04:00
# NIP-1078
## Arbitrary custom app data
`draft` `optional` `author:BlowaterNostr`
## Nostr event
This NIP specifies the use of event kind `1078` which is almost identical to 30078 except that it's not a replacible event.
## Some use cases
The reason to not having a 30078 is that some clients want to implement local state changes as CRDTs, meaning support cumulative and associative mutations.
Meaning the order of applying operations doesn't change the final result as long as the same set of operations are applied.
For example, in [Blowater](https://blowater.deno.dev), Pin/Unpin Contacts is implemented as regular events to achieve better consistency.
Event set [`Pin Npub X`, `Unpin NpubX`, `Pin Npub Y`] will result in a pin list of `[Y]` no matter how the order is shifted.
Many other operations are best implemented as CRDTs as well.