ndk 0.5.1
ndk: ^0.5.1 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)