@spruceid/didkit-wasm-node
v0.2.1
Published
[](https://www.npmjs.com/package/@spruceid/didkit-wasm) [ you will need the WASM compiler toolchain as well as a specific build tool:
$ rustup target add wasm32-unknown-unknown
$ cargo install wasm-pack
# OR
# $ curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | shInstallation and Usage
Node
WASM can be used in Node.js (any recent version):
$ npm i @spruceid/didkit-wasm-nodeOr build it from source:
$ wasm-pack build --target nodejsWeb Frameworks (Bundled)
WASM can be used with web frameworks and bundlers like Webpack:
$ npm i @spruceid/didkit-wasmOr build it from source:
$ wasm-pack buildIf Webpack doesn't work with the default configuration, you can have a look at our configuration for tzprofiles.
Vanilla Javascript
WASM can be used with plain Javascript with newer browsers. As it cannot be used as a NPM package you have to build it manually:
$ wasm-pack build --target webThe manual tests in test/ serve as an example on how to import DIDKit.
Tests
The test/ directory contains manual tests to run in the browser. Instructions
are in the README of the directory.
Non-Default Compilation
The current version of the ring crate does not provide all the symbols
needed to run on the browser, see DEPS.md
To compile all features plus wasm32_c on ring, a C compiler is needed, see
spruceid/ssi:
On Ubuntu this one option is to install clang and llvm:
sudo apt install clang-10 llvm-10Then to compile with all features:
TARGET_CC=clang-10 TARGET_AR=llvm-ar-10 wasm-pack build --out-dir pkgTo use a custom subset of features:
wasm-pack build --out-dir pkg -- --no-default-features --features=issue # issue credential/presentation
wasm-pack build --out-dir pkg -- --no-default-features --features=verify # verify credential/presentation
wasm-pack build --out-dir pkg -- --no-default-features --features=credential # issue/verify credential
wasm-pack build --out-dir pkg -- --no-default-features --features=presentation # issue/verify presentationdon't forget to add TARGET_CC and TARGET_AR if using ring with wasm32_c
