Build Status Coverage Pub License

Dart Nostr Development Kit

Features

Gossip/outbox model of relay discovery and connectivity

The simplest characterization of the gossip model is just this: reading the posts of people you follow from the relays that they wrote them to.

more details on https://mikedilger.com/gossip-model/

NIPs

  • x Event Builders / WebSocket Subscriptions (NIP-01)
  • x User Profiles (edit/follow/unfollow - NIP-02)
  • x Private Messages (NIP-04)
  • x Nostr Address (NIP-05)
  • x Event Deletion (NIP-09)
  • x Relay Info (NIP-11)
  • x Reactions (NIP-25)
  • x Lists (NIP-51)
  • x Relay List Metadata (NIP-65)
  • Bech Encoding support (NIP-19)
  • Wallet Connect API (NIP-47)
  • Zaps (private, public, anon, non-zap) (NIP-57)
  • Badges (NIP-58)

Getting started

Add the following to your pubspec.yaml file:

dependencies:
  dart_nostr: any

Usage

        RelayManager manager = RelayManager();

        await manager.connect();
        
        NostrRequest request = await manager.query(
          Filter(kinds: [Nip01Event.TEXT_NODE_KIND], authors: [pubKey]));
        await for (final event in request.stream) {
          print(event);
        }