NostrDB Use Cases

3 views
Skip to first unread message

ja...@chakany.systems

unread,
Mar 23, 2024, 4:16:55 PM3/23/24
to d...@damus.io
Hello Will,
I am building a web and desktop application that needs local caching databases for speed and efficiency. I am also intending to endeavor in embedded systems. I have a few questions about NostrDB and I was hoping you could shed some light on it’s functionality as the documentation is unclear.
  1. Does NostrDB allow for labeling of events, like being able to mark and event as “deleted” or “bookmarked”.
  2. Does it support WebAssembly and work in a browser like Chrome?
  3. Does it have encrypted database support?
  4. Can it ngentropy sync with strfry relays?
  5. Can it store arbitrary data in general? or would that be better suited for something like sqlite?

This would really help me out in gauging if it’s the right solution for what i’m trying to build.
Looking forward to hearing back from you.

Thanks,
Jack Chakany
Founder & CEO
Chakany Systems
ja...@chakany.systems

Chakany Systems
Building the future of secure communications,
one encryption key at a time.

William Casarin

unread,
Mar 24, 2024, 12:24:17 PM3/24/24
to ja...@chakany.systems, d...@damus.io
Hey!

On Sat, Mar 23, 2024 at 04:16:41PM -0400, ja...@chakany.systems wrote:
>Hello Will,
>I am building a web and desktop application that needs local caching
>databases for speed and efficiency. I am also intending to endeavor in
>embedded systems. I have a few questions about NostrDB and I was hoping
>you could shed some light on it’s functionality as the documentation is
>unclear.

>Does NostrDB allow for labeling of events, like being able to mark and event as “deleted” or “bookmarked”.

nostrdb's philosophy is that you would use notes for things like this,
and you would use standard nostr filters for querying.

>Does it support WebAssembly and work in a browser like Chrome?

no it does not, I am optimizing for performance and chose not to gimp
the library just for web support.

>Does it have encrypted database support?

no

>Can it ngentropy sync with strfry relays?

nostrdb doesn't do any networking for portability, so no, at least for
now. I plan on support negentropy though. So it will likely support
generating the data/message that are needed for the negentropy protocol.

>Can it store arbitrary data in general? or would that be better suited for something like sqlite?

It mainly stores notes, but does have metadata and stats tables, but I
don't have a general mechanism yet like sqlite does.

>This would really help me out in gauging if it’s the right solution for
>what i’m trying to build. Looking forward to hearing back from you.

It sounds like sqlite would be more suited for your use case? nostrdb is
built so that it can do queries at 1000s of times per second for
realtime applications without locks or async code that complicates UIs.
If you're building a web app then it's probably not the right
solution.

Cheers,

Will
Reply all
Reply to author
Forward
0 new messages