Files
nym/wasm/client
Simon Wicky b424c6a8ff [Product Data] Add stats reporting configuration in client config (#5115)
* add stats_reporting_config in config and env var

* fix serializazion issue

* remove duplicate stats reporting config

* cargo toml cleanup

* more cleanup

* draft of wasm sdk for stats reporting

* fix wasm sdk?

* again

* make stats sending possible from outside the sdk

* make sure stats_id from client and gateway reported ared different
2024-11-13 08:38:35 +01:00
..
2023-09-21 15:09:34 +01:00
2024-05-31 11:33:16 +01:00

Nym Sphinx webassembly client

Produces layer-encrypted Sphinx packets for use with Nym mixnets.

Sphinx packets ensure the privacy of information in transit, even when the adversary is able to monitor the network in its entirety. When used with a mixnet, both content (what you said) and metadata (who you said it to, when you said it) are protected.

This helps browser-based and mobile applications get stronger privacy, in a way that wasn't previously possible.

This client is part of the Nym project. It's written in Rust and compiled to WebAssembly.

Security Status

From a security point of view, this module is not yet complete. Key missing features include, but are not limited to: cover traffic, sending packets with delay according to Poisson distribution.

They should be implemented soon. You can build your applications, but don't rely on it for strong anonymity yet if your application needs cover traffic.

Using it

See the SDK directory for examples on how to use it and the NPM packages available.

Developing

Make sure you have wasm-pack installed (cargo install wasm-pack) before you start.

Please use the Makefile targets to build this crate and compile it to WASM:

make build

The outputs will be found here where it will be accessible to the rest of the monorepo using workspaces.

Packaging

TODO

If you're a Nym platform developer who's made changes to the Rust files and wants to re-publish the package to NPM, here's how you do it:

  1. bump version numbers as necessary for SemVer
  2. go the sdk/typescript directory (off the project root)
  3. run:
yarn
yarn build
yarn publish