Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

didkit-wasm-node

sbihel353deprecated0.1.6TypeScript support: included

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

The current version of the ring crate does not provide all the symbols needed to run on the browser, see DEPS.md

readme

DIDKit WASM

The current version of the ring crate does not provide all the symbols needed to run on the browser, see DEPS.md

To install wasm-pack run:

cargo install wasm-pack

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-10

Then to compile with all features:

TARGET_CC=clang-10 TARGET_AR=llvm-ar-10 wasm-pack build --target web --out-dir pkg/wasm

To use a custom subset of features:

wasm-pack build --target web --out-dir pkg/wasm -- --no-default-features --features=issue        # issue credential/presentation
wasm-pack build --target web --out-dir pkg/wasm -- --no-default-features --features=verify       # verify credential/presentation
wasm-pack build --target web --out-dir pkg/wasm -- --no-default-features --features=credential   # issue/verify credential
wasm-pack build --target web --out-dir pkg/wasm -- --no-default-features --features=presentation # issue/verify presentation

don't forget to add TARGET_CC and TARGET_AR if using ring with wasm32_c

ASM target

For the ASM target the wasm2js build is necessary, to get this tool follow the steps in binaryen.

To compile all features for WASM target:

wasm-pack build --target web --out-dir pkg/wasm
npm --prefix loader/wasm install
npm --prefix loader/wasm run build

To compile all features for ASM target, assuming you're in this folder:

wasm-pack build --target bundler --out-dir pkg/asmjs
cd pkg/asmjs
$(BINARYEN_ROOT)/bin/wasm2js --pedantic -o didkit_wasm_bg1.js didkit_wasm_bg.wasm
cd ../..
cd loader/asmjs
./repack.sh
npm install
npm run build

WASM tests

loader/wasm contains tests. To run them you need to serve the files and open the page in a browser (you can then see the results in the console). You can start a server with

$ npm run serve