Giter VIP home page Giter VIP logo

ssi-sdk's Introduction

godoc ssi-sdk go version 1.20.4 Go Report Card A+ license Apache 2 issues ssi-sdk-ci status codecov

ssi-sdk

Introduction

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.

ssi-sdk

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.

Signing Methods

Key Types & Signature Algorithms

Key Type Signature Algorithm Supported
Ed25519 EdDSA Yes
secp256k1 ES256K Yes
P-256 ES256 Yes
P-384 ES384 Yes
P-521 ES512 Yes
RSA PS256 Yes
BLS BBS+ Experimental
Dilithium Mode 2 CRYDI2 Experimental
Dilithium Mode 3 CRYDI3 Experimental
Dilithium Mode 5 CRYDI5 Experimental

Experimental methods must be explicitly enabled. For an example, see this test.

DID Methods

Building

This project uses mage, please view CONTRIBUTING for more information.

After installing mage, you can build and test the SDK with the following commands:

mage build
mage test

A utility is provided to run clean, build, and test in sequence with:

mage cbt

WASM

The 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.

The wasm implemetation for this repo lives here - https://github.com/TBD54566975/ssi-sdk-wasm

Versioning

For information on versioning refer to our versioning guide.

The latest version is...nothing! No releases have been made.

Examples

A set of code examples can be found in the examples directory. We welcome contributions for additional examples.

To run the examples use the following command

 go run example/did/did.go 
 go run example/usecase/apartment_application/apartment_application.go

Project 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

ssi-sdk's People

Contributors

decentralgabe avatar dependabot[bot] avatar nitro-neal avatar andresuribe87 avatar andorsk avatar alrubinger avatar angiejones avatar michaelneale avatar singyiu avatar bobbilee19 avatar philippgille avatar nrobi144 avatar saeedjabbar avatar moricho avatar td-bn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.