nostr_event_scheduler 0.2.1 copy "nostr_event_scheduler: ^0.2.1" to clipboard
nostr_event_scheduler: ^0.2.1 copied to clipboard

Local-first Dart package for scheduling Nostr events via Scheduler DVMs.

example/nostr_event_scheduler_example.dart

import 'package:broadcast_queue_shim_for_ndk/broadcast_queue_shim_for_ndk.dart';
import 'package:ndk/ndk.dart';
import 'package:nostr_event_scheduler/nostr_event_scheduler.dart';
import 'package:sembast/sembast_io.dart';

Future<void> main() async {
  final db = await databaseFactoryIo.openDatabase('scheduler.db');

  final ndk = Ndk(
    NdkConfig(
      eventVerifier: Bip340EventVerifier(),
      cache: SembastCacheManager(db),
      fetchedRangesEnabled: true,
    ),
  );

  final broadcast = OfflineBroadcast.withNdk(ndk, db: db);
  broadcast.start();

  final scheduler = EventScheduler(ndk: ndk, broadcast: broadcast, db: db);

  await scheduler.startListening();

  // Listen to status updates
  scheduler.statusUpdates.listen((update) {
    print('Job ${update.jobId}: ${update.status}');
  });

  // List existing jobs
  final jobs = await scheduler.listJobs();
  print('Existing jobs: ${jobs.length}');

  // Dispose when done
  await scheduler.dispose();
  await broadcast.dispose();
  await db.close();
}
0
likes
160
points
235
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Local-first Dart package for scheduling Nostr events via Scheduler DVMs.

Repository (GitHub)
View/report issues

Topics

#nostr #scheduler #dvm #local-first #offline-first

License

MIT (license)

Dependencies

broadcast_queue_shim_for_ndk, ndk, sembast

More

Packages that depend on nostr_event_scheduler