ssi-sdk-wasm
v1.0.20
Published
All things self sovereign identity
Downloads
5
Readme
ssi-sdk-wasm
ssi-sdk-wasm
is a library that provides a WebAssembly (WASM) implementation for Self-Sovereign Identity (SSI) SDK. It enables SSI functionality in the browser and other JavaScript environments by compiling the SDK to a WASM file. This repository is responsible for building the main.wasm
file and making it available as an npm package.
Table of Contents
Usage
To use the ssi-sdk-wasm package, simply import it in your project (Note this only works in nodejs currently, to use in react you can follow the example in the example directory):
import SSI from 'ssi-sdk-wasm';
Build
To install the ssi-sdk-wasm
package, run:
npm install
npm run build
This will produce create the wasm file from the generation code in the wasm directory the following output files:
- dist/index.js: Bundled JavaScript file
- dist/main.wasm: Compiled WASM file
The build script also copies the main.wasm file to the examples/react/public/ directory.
Test
This contains a simple test to make sure all wasm functions are working properly
npm run test
Example
There are examples in the example directory. This code snippet will create a did in your nodejs application
import SSI from 'ssi-sdk-wasm'
async function run() {
console.log(await SSI.makeDid());
}
run();
Concepts
Named ssi-sdk
, this SDK encapsulates a set of standards related
to Self Sovereign Identity.
The ssi-sdk
intends to provide flexible functionality based on a set of standards-based primitives for building
decentralized identity applications in a modular manner: with limited dependencies between components.
The image above outlines the SDK's vision. Standards may be added and/or removed. The standards themselves are under active development, and as such, are subject to change. When possible we aim to call out which versions or revisions of standards we are building implementations against.
The SDK has not undergone any formal security review or audit, so please use with caution.
For more information, see the vision document.
Contributing
This project is fully open source, and we welcome contributions! For more information please see CONTRIBUTING. Our current thinking about the development of the library is captured in GitHub Issues.
Specifications
Here are a set of references to specifications that this library currently supports. It is a dynamic set that will change as the library evolves.
- Decentralized Identifiers (DIDs) v1.0 W3C Proposed Recommendation 03 August 2021
- Verifiable Credentials Data Model v1.1 W3C Recommendation
09 November 2021
- Supports Linked Data Proof formats.
- Supports VC-JWT and VP-JWT formats.
- Verifiable Credentials JSON Schema Specification Draft Community Group Report, 21 September 2021
- Presentation Exchange 2.0.0 Working Group Draft, March 2022
- Wallet Rendering Strawman, June 2022
- Credential Manifest Strawman, June 2022
- Status List 2021 Draft Community Group Report 04 April 2022
signature suites
- Data Integrity 1.0 Draft Community Group Report
- Linked Data Cryptographic Suite Registry Draft Community Group Report 29 December 2020
- JSON Web Signature 2020 Draft Community Group Report 09 February 2022
- VC Proof Formats Test Suite, VC Data Model with JSON Web Signatures Unofficial Draft 09 March 2022 This implementation's compliance with the JWS Test Suite can be found here.
- Supports both JWT and Linked Data proof formats with JOSE compliance.
did methods
- The did:key Method v0.7 Unofficial Draft 14 February 2022
- The did:web Method 20 December 2021
- The did:peer Method W3C Document 12 October 2021
- The did:pkh Method Draft, 22 August 2022
Resources
| Resource | Description | |----------------------------------------------------------------------------------------|-------------------------------------------------------------------------------| | VISION | Outlines the project vision | | VERSIONING | Project versioning strategy | | CODE_OF_CONDUCT | Expected behavior for project contributors, promoting a welcoming environment | | CONTRIBUTING | Developer guide to build, test, run, access CI, chat, discuss, file issues | | GOVERNANCE | Project governance | | LICENSE | Apache License, Version 2.0 |