## rust-nostr v0.35 is out! 🦀

### Summary

Add gossip model support, deprecate `SQLite` database in favor of `LMDB` (fork of nostr:npub1acg6thl5psv62405rljzkj8spesceyfz2c32udakc2ak0dmvfeyse9p35c's pocket database), add support to negentropy v1 (old version is still supported!), add `MockRelay` (a local disposable relay for tests), allow usage of embedded tor client on mobile devices, many improvements, bugs fix and more!

Full changelog: https://rust-nostr.org/changelog

### Contributors

Thanks to all contributors!

* nostr:npub1acxjpdrlk2vw320dxcy3prl87g5kh4c73wp0knullrmp7c4mc7nq88gj3j
* nostr:npub17q5n2z8naw0xl6vu9lvt560lg33pdpe29k0k09umlfxm3vc4tqrq466f2y
* nostr:npub1zwnx29tj2lnem8wvjcx7avm8l4unswlz6zatk0vxzeu62uqagcash7fhrf
* nanikamado

### Links

https://rust-nostr.org
https://rust-nostr.org/donate

#rustnostr #nostr #rustlang #programming #rust #python #javascript #kotlin #swift


Wow that is cool. I need to look into it again and update my scripts. On a side note. Can a nip96 request be made via nostr-sdk?


Nice work.  Glad to see this progressing, and if I hadn't started out on my own I would have liked to have used rust-nostr for gossip... but gossip is too riddled with nostr-types already.

It looks like quite a significant set of changes to the LMDB stuff, definitely not 'pocket' anymore but using some of those ideas. I'm glad it was of use.


I'm curious, does nostr-lmdb run in WASM? I'm guessing that it can't.


:thugamy:


Unfortunately no. At least, for sure not for `wasm32-unknown-unknown` target. Maybe `wasm32-wasi`.


Yeah, I've done many changes but the query algorithm and indexing are almost the same.
I removed the event store to support windows targets too.


Not yet!


Given that, wouldn't it make sense to keep SQLite as one of the database options, and not deprecate it?


Removing the event store is only a minor performance drop (1 more lookup).

mmap_append originally was only working on linux, but Ashkan Kiani replaced some of my code with memmap2 which is cross-platform.  So now mmap-append works on Windows too, as does the stuff on top of it.  I just noticed that the README is wrong 🤦  .. fixed.


That makes me feel hopeful. Thank you!


SQLite not work too on WASM (at least the rusqlite bindings).


火


I've learned rust just for to using rust-nostr, now I cannot stop writing rust 😅.
nostr:note1z5xaj9l26rh9gjdh3cdcwt54kpfukv7qvvzwzp5z7s3medgfcu0qv0qt3f


Thank you very much!