ndk 0.6.0-dev.10 copy "ndk: ^0.6.0-dev.10" to clipboard
ndk: ^0.6.0-dev.10 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 πŸ”— #


Core Features #

Network & Data Management #

  • Automatic relay discovery using inbox/outbox (gossip) model for optimal relay selection
  • Flexible data fetching with query (one-time) and subscription (real-time) modes
  • Smart caching to reduce network bandwidth and improve performance
  • Concurrent event streaming from both cache and network
  • Request coverage control to specify desired relay coverage per request

Account & Authentication #

  • Multiple signer support: Built-in (BIP-340), Amber, NIP-07 (web), and NIP-46 (remote signing/bunkers)
  • Account management with state tracking and multiple account support
  • Relay authentication (NIP-42) for private relay access

High-Level Use Cases #

  • Metadata management: Query and update user profiles with automatic caching
  • Contact lists: Follow/unfollow users and manage contact lists
  • NIP-51 lists: Public and private relay sets, mute lists, and custom lists
  • Gift wrap (NIP-59): Encrypted, metadata-obscured messaging
  • Zaps (NIP-57): Lightning payments on Nostr
  • Nostr Wallet Connect (NIP-47): Integrate Lightning wallets
  • Domain verification (NIP-05): Verify and cache Nostr addresses
  • File management: Upload, download, and delete files using Blossom servers
  • Connectivity: Get notified about connection issues
  • Proof of Work (NIP-13): Create and verify PoW events

Developer Experience #

  • Pluggable architecture: Bring your own cache, verifier, or signer, replace any component
  • Multiple database options: In-memory, Isar, ObjectBox, Sembast
  • Event verification: BIP-340 or Rust-based (recommended for performance)
  • Comprehensive logging with configurable log levels and outputs
  • Clean architecture for maintainability and extensibility

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) (🚫 not planned)
8
likes
150
points
1.84k
downloads

Publisher

unverified uploader

Weekly Downloads

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

Repository (GitHub)
View/report issues

Topics

#nostr

Documentation

API reference

License

MIT (license)

Dependencies

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

More

Packages that depend on ndk