nostr_client 0.2.0
A nostr client for dart and flutter.
Features
xNIP-01: Basic protocol flow descriptionNIP-02: Contact List and PetnamesNIP-03: OpenTimestamps Attestations for EventsNIP-04: Encrypted Direct MessageNIP-05: Mapping Nostr keys to DNS-based internet identifiersNIP-06: Basic key derivation from mnemonic seed phraseNIP-07: window.nostr capability for web browsersNIP-08: Handling MentionsNIP-09: Event DeletionNIP-10: Conventions for clients' use of e and p tags in text events.xNIP-11: Relay Information DocumentNIP-12: Generic Tag QueriesNIP-13: Proof of WorkNIP-14: Subject tag in text events.NIP-15: End of Stored Events NoticeNIP-16: Event TreatmentNIP-20: Command ResultsNIP-22: Event created_at LimitsNIP-25: ReactionsNIP-28: Public ChatNIP-35: User Discovery
Getting Started
Add this package to the pubspec.yaml of your flutter project:
dependencies:
nostr_client: ^0.2.0
Usage
import 'package:nostr_client/nostr_client.dart'
// Create a new relay instance and connect to the relay
final relay = Relay('wss://relay.nostr.info');
relay.connect();
// Print events sent by the relay
relay.stream.whereIsEvent().listen(print);
// Request text events from the relay and subscribe to updates
final filter = Filter(
kinds: [EventKind.text],
limit: 10,
);
final subscriptionId = relay.subscribe(filter);
// Cancel the subscription
relay.unsubscribe(subscriptionId);
// Disconnect from the relay
relay.disconnect();