Welcome to the WebAssembly + JavaScript binding for the Rust
matrix-sdk-crypto
library! WebAssembly can run anywhere, but these
bindings are designed to run on a JavaScript host. These bindings are
part of the matrix-rust-sdk
project, which is a library
implementation of a Matrix client-server.
matrix-sdk-crypto
is a no-network-IO implementation of a state
machine, named OlmMachine
, that handles E2EE (End-to-End
Encryption) for
Matrix clients.
These WebAssembly bindings are written in Rust. To build them, you need to install the Rust compiler, see the Install Rust Page. Then, the workflow is pretty classical by using npm, see the Downloading and installing Node.js and npm Page.
Once the Rust compiler, Node.js and npm are installed, you can run the following commands:
$ npm install
$ npm run build
$ npm run test
A matrix_sdk_crypto.js
, matrix_sdk_crypto.d.ts
and a
matrix_sdk_crypto_bg.wasm
files should be generated in the pkg/
directory.
TBD
The documentation can be found online.
To generate the documentation locally, please run the following command:
$ npm run doc
The documentation is generated in the ./docs
directory.