Default avatar
npub1drvp...seet 10 months ago
## rust-nostr v0.39 is out! ๐Ÿฆ€ ### Summary Add NIP96 support, add NIP22 helpers, NIP01 adjustments, add `try_connect` and `wait_for_connection` methods for better connection handling, support for custom WebSocket clients (both in Rust, Python, Kotlin and Swift), new JVM bindings (Linux, macOS and Windows), huge reduction of UniFFI bindings binaries size, many cleanups, refactoring and performance improvements and more! Full changelog: https://rust-nostr.org/changelog ### Contributors Thanks to all code contributors! * @negrunch * @npub1zwnx...fhrf * @cipres * @Kieran * ethicnology * Gudnessuche Thank also to @dluvian, @KotlinGeek and spacecowboy! ### Links #rustnostr #nostr #rustlang #programming #rust #python #javascript #kotlin #swift #flutter

Replies (16)

Default avatar
npub1drvp...seet 10 months ago
Yuki Kishimoto's avatar Yuki Kishimoto
## rust-nostr v0.39 is out! ๐Ÿฆ€ ### Summary Add NIP96 support, add NIP22 helpers, NIP01 adjustments, add `try_connect` and `wait_for_connection` methods for better connection handling, support for custom WebSocket clients (both in Rust, Python, Kotlin and Swift), new JVM bindings (Linux, macOS and Windows), huge reduction of UniFFI bindings binaries size, many cleanups, refactoring and performance improvements and more! Full changelog: https://rust-nostr.org/changelog ### Contributors Thanks to all code contributors! * @negrunch * @npub1zwnx...fhrf * @cipres * @Kieran * ethicnology * Gudnessuche Thank also to @dluvian, @KotlinGeek and spacecowboy! ### Links #rustnostr #nostr #rustlang #programming #rust #python #javascript #kotlin #swift #flutter
View quoted note →
Default avatar
npub1drvp...seet 10 months ago
For now are available: Keys signer (with both NIP04 and NIP44 support), NIP59, event de/serialization, event building and the SDK Client (NIP42 auto authentication, gossip, event sending, event fetching and subscriptions). I'll add the other stuff as I find the time. If you need something specific, let me know that I'll expose it.
Well ive started to build an app with flutter using `ndk` pkg, seems to work ok but i would prefer to use the more performant version in rust with full event caching in local db, does nostr-sdk flutter bindings work in web too?
Default avatar
npub1drvp...seet 10 months ago
The rust library for flutter compiles to wasm but I don't know how to pack and ship the flutter package for web. For the desktop and mobile platforms I use cargokit but it doesn't work for the web.
Ok interesting, its not that important its just that the current version does work in web because its all Dart pkgs, having web support is really just a nice-to-have since the goal is to build a mobile app
Default avatar
npub1drvp...seet 10 months ago
Done, I've exposed the NostrDatabase, added some other Client method and released the v0.39 (tagged in the git repo, I can't publish it to pub.dev).
Default avatar
npub1drvp...seet 10 months ago
I usually copy the stuff I already exposed in the UniFFI bindings and adapt it to the flutter_rust_bridge. So, in the case of metadata stuff, I would copy and adapt this: To adapt it, I follow these docs or I just check the other modules I already adapted. In short: replace the uniffi macros with `frb` and use the `Result` from anyhow. If a new module is added, it must be exported in the `lib/nostr_sdk.dart` file.
โ†‘