ndk 0.3.2 copy "ndk: ^0.3.2" to clipboard
ndk: ^0.3.2 copied to clipboard

Nostr Development Kit - the most performant lib for all your nostr usecases

Dart Nostr Development Kit (NDK) #

Build Status Coverage Pub License

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)
5
likes
140
points
264
downloads

Publisher

unverified uploader

Weekly Downloads

2024.09.22 - 2025.04.06

Nostr Development Kit - the most performant lib for all your nostr usecases

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

bech32, bip340, collection, convert, crypto, cryptography, elliptic, equatable, hex, http, logger, meta, pointycastle, rxdart, web_socket_channel, web_socket_client

More

Packages that depend on ndk