ndk 0.3.2
ndk: ^0.3.2 copied to clipboard
Nostr Development Kit - the most performant lib for all your nostr usecases
Dart Nostr Development Kit (NDK) #
NDK (Nostr Development Kit) is a Dart library that enhances the Nostr development experience.
NDK supplies you with high-level usecases like lists or metadata while still allowing you to use low-level queries enhanced with inbox/outbox (gossip) by default.
Our Target is to make it easy to build constrained Nostr clients, particularly for mobile devices.
Apps using NDK #
➡️ Getting Started 🔗 #
Changelog 🔗 #
Features / what does NDK do? #
- return nostr data based on filters (any kind).
- automatically discover the best relays to satisfy the provided request (using gossip)
- specify desired coverage on each request (e.g. x relays per pubkey)
- publish nostr events to optimal relays or explicit relays
- cache responses to save network bandwidth
- stream directly from cache and network (if needed)
- query and subscription, e.g., get data once; subscribe to data.
- plugin cache interface, bring your own db or use included ones:
inMemory
- plug in verifier interface, bring your own event verifier, or use included ones:
bip340, rust
- plug in event signer interface, bring your own event signer, or use included ones:
bip340, amber
- contact list support, you can convert nostr_event to contact_list
- nip51 list support, you can convert nostr_event to nip51_list
- nip05 caching
- nip-47 Nostr wallet connect
- nip-42 Authentication of clients to relays
- nip-57 Zaps
- blossom file support
not Included #
- ready to use feeds, you have to build them on your own (🚫 not planned)
- create && manage keypairs. You have to provide them (🚫 not planned)
- threading, you can do this on your own if you move ndk or only the event_verifier into its own thread (🔜 planned)
- support for request overrides (you have to close and reopen requests) (🤔 unsure)
NIPs #
- ✅ Event Builders / WebSocket Subscriptions (NIP-01)
- ✅ User Profiles (edit/follow/unfollow - NIP-02)
- ✅ Private Messages (NIP-04)
- ✅ Nostr Address (NIP-05)
- ✅ Event Deletion (NIP-09)
- ✅ Relay Info (NIP-11)
- ✅ Reactions (NIP-25)
- ✅ Lists (NIP-51)
- ✅ Relay List Metadata (NIP-65)
- ✅ Wallet Connect API (NIP-47)
- ✅ Zaps (NIP-57)
- ✅ Authentication of clients to relays (NIP-42)
- ✅ Encrypted Payloads (Versioned) (NIP-44)
- ❌ Bech Encoding support (NIP-19)
- ❌ Badges (NIP-58)