Skip to content
This repository has been archived by the owner on Apr 20, 2021. It is now read-only.

wirelineio/credentials

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Verifiable Credentials

A simple library to create and validate verifiable credentials from the Web3 spec.

npm install @wirelineio/credentials

Usage

To create and verify a verifiable credential:

import { createCredential, verifyCredential } from '@wirelineio/credentials';

const claim = {
  id: 'did:example:ebfeb1f712ebc6f1c276e12ec21',
  degree: {
    type: 'BachelorDegree',
    name: 'Computer Science'
  }
};

const issuerMetadata = {
  '@context': [
    'https://www.w3.org/2018/credentials/v1',
    'https://www.w3.org/2018/credentials/examples/v1'
  ],

  id: 'did:example:abfe13f712120431c276e12ecab',
  issuanceDate: new Date().toISOString()
};

const issuerKeyPair = crypto.keyPair();
const issuedCredential = createCredential(issuerKeyPair, issuerMetadata, claim);

verifyCredential(issuerKeyPair.publicKey, issuedCredential);

To create and verify a verifiable presentation:

import { createPresentation, verifyPresentation } from '@wirelineio/credentials';

const presenterMetadata = {
  '@context': [
    'https://www.w3.org/2018/credentials/v1',
    'https://www.w3.org/2018/credentials/examples/v1'
  ],

  id: 'did:example:abfe13f712120431c276e12ecab',
  presentationDate: new Date().toISOString()
};

const presenterKeyPair = crypto.keyPair();
const presentedCredential = createPresentation(presenterKeyPair, presenterMetadata, issuedCredential);

verifyPresentation(presenterKeyPair.publicKey, presentedCredential);

About

Verifiable credentials utility.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published