Rust WebAssembly is freaking great, and I did not expect how much it is.
Found a project called StandardFile (https://standardfile.org) - it's a client-server protocol for encrypted file storage. There is a client lib in JS and servers in Ruby and Go.
They say that some clients (like browsers) can't support the needed level of crypto because it's CPU-heavy. Well...
I just wrote a lib for that protocol and integrated it with wasm. And it worked great, with OS-like randomness generation and all that stuff.
For comparison: they want their clients to use >= 100_000 iterations for key derivation, while "some clients" confidently support ~ 3_000. My lib did 1_000_00 iterations like it was nothing, using the first crypto crate I found on crates.io.
Okay. I believe in this stuff, should research more.
And the idea of doing this project just for the sake of having a full client-server system in Rust is fine enough reason for me :)
@BrightOne Thanks for posting this! Considering there's so much overlap in what Datashards is doing here, I'll be interesting to see if I couldn't use something similar to do what we need to do.
If you know these folks, I have some questions!
Welcome to your niu world ! We are a cute and loving international community Ｏ(≧▽≦)Ｏ !