We dropped NDK from Fanfares
Discussion
what do you use, if anything?
We made our own core nostr system.
(We haven't released the software yet)
from completely vanilla js? or nostr-tools or some other minimal framework?
nostr-tools helps with some stuff but we made our own nostr websocket framework that plays nice with React and zustand. We leaned heavily into caching and created some nice lambda APIs to handle nostr queries too
wow!
It was a pain to build but looking back it wasn't really that terrible tbh.
The big win is fully understanding what is happening under the hood when the client makes requests to relays. That was a big frustration with every other lib
yea... currently in the middle of that frustration.
well that, and the lack of documentation for basic happy-path stuff, so it's all source-diving and type inspection to get anywhere. which is fine and more ergonomic than having no types, but I wouldn't expect this for the "Dev kit" package
What frameworks are you guys using? React etc? I'm building new Nostr integrations that might be useful to you.
at the moment, Svelte. usually Vue. a bit of React.
what I'm looking for is a nostr library that does LESS framework integration, but is easier to understand and use.
Well I built out what I think are the right Nostr abstractions here: https://nostrify.dev/
Can't guarantee it will solve all your problems, but I believe it's at least the right mental framework. Lightning is still hard just because Lightning is hard.
thanks! I've looked at Nostrify a bit in the past but not this time around on this project. I'll look at it again.
Lightning is so annoying that I'm wondering if going straight to nutzaps isn't actually easier... does nostrify handle ecash/nutzaps?
Nutzaps is harder to implement than regular zaps. We implement both in Ditto, but there is no "easy way" solution for everyone else yet.
Here, you inspired me to rework my zaps implementation and add a doc for it: https://nostrify.dev/zaps
Lol fuck dude, what timing. I just reached the end of my rope trying to get nostr-tools and NDK to play nicely together for nip57.
nostrify here I come! this looks incredible.
the big question... will this take my existing NDK signer, or would I need to rip all that out...?
Have NDK generate the zap request event however it does it, then you can pass it directly into lnurl.getInvoiceβ.
Basically you can use this LNURL module with any other library or framework.