Svelte CHAPI


This project demonstrates how to implement a CHAPI-conformant Wallet using DIDKit compiled to WASM and the Svelte web development framework. It uses did:key as its only DID Method.


  • Simple listing of credentials

  • Responds to GET and STORE requests

    • [STORE] Verifies credentials with DIDKit and stores them.

    • [GET] Issues VPs generated and signed using DIDKit


To be able to run this example, you will need to build DIDKit for the WASM target. You will also need the Yarn package manager.


In short, you need to install the wasm-unknown-unknown Rust target and wasm-pack, which can be done with the following command on the root of DIDKit:

make -C lib install-wasm-pack


Then, you have to build the WASM target of DIDKit:

make -C lib ../target/test/wasm.stamp

If everything succeeds, you can proceed to the next step.


Install the npm dependencies of this example project using the Yarn package manager:

cd examples/svelte-chapi-wallet
yarn install

The run the app in development mode with:

yarn run dev

You should now be able to see the app running on localhost:5000.

Building and running in production mode

To create an optimized version of the app:

yarn run build

You can run the newly built app with yarn run start. This uses sirv, which is included in your package.json's dependencies so the app will function when deployed to platforms such as Heroku.

Last updated