Files
matrix-rust-sdk/bindings/matrix-sdk-crypto-js
Damir Jelić 771c33d710 chore(crypto): Bump vodozemac
Vodozemac used to accept and return strings when encrypting and
decrypting. This is quite unusual for a pure cryptographic library so we
switched towards the usual setup where we encrypt/decrypt raw bytes.

Since we do encrypt/decrypt JSON strings in Matrix land, we do the
string conversions over here.
2022-07-05 13:23:50 +02:00
..
2022-07-05 13:23:50 +02:00

matrix-sdk-crypto-js

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.

Usage

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

Documentation

To generate the documentation, please run the following command:

$ npm run doc

The documentation is generated in the ./docs directory.