0.0.38 • Published 1 year ago

vc_issuer_sdk v0.0.38

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

DID and Verifiable Credential SDK

This SDK enables the management of Decentralized Identifiers (DIDs) and Verifiable Credentials (VCs). It supports creating, verifying, and revoking credentials.

Supported signatures:

  • ECDSA
  • BBS+

Installation

To install the SDK, use yarn:

yarn install

Usage

Below is an example on how to issue, verify, and optionally revoke a verifiable credential using the BBS+ signature scheme.

Example: Issue and Verify a Verifiable Credential

import { BbsDID, createBbsCredential, verifyVC, revokeVC } from "path_to_sdk";

// Issuer's private key and setup
const issuerPrivateKey = "private_key_here";
const issuer = new BbsDID(privateKey);

// Holder's DID
const holderDid = "did:example:b34ca6cd37bbf23";

// Creating a credential with BBS+ signature
const claims = { kyc: "passed" };
const revocationRegistryAddress = "0x77Fb69B24e4C659CE03fB129c19Ad591374C349e";
const didRegistryAddress = "0x312C15922c22B60f5557bAa1A85F2CdA4891C39a";
const provider = new ethers.JsonRpcProvider(process.env.TEST_BLOCKCHAIN_URL);
const options = {
  revocationRegistryAddress,
  provider,
  didRegistryAddress,
} as VerificationOptions;
const credential = await createBbsCredential(issuer, holderDid, claims, ["KYCCredential"], unknown, options );
console.log("Credential Issued:", credential);

// Verifying the credential
const verificationResult = await verifyVC(credential);
console.log("Verification Result:", verificationResult);

// Optionally revoke the credential
await revokeVC(credential.id, issuer.did, issuerPrivateKey);

// wait for 10 seconds for the transaction to be mined onchain
await new Promise((r) => setTimeout(r, 10000));

// And check again: expected failure as credential has been revoked
const verificationResult = await verifyVC(credential);
console.log("Verification Result:", verificationResult);

Testing

For local testing, ensure you have Foundry installed and running. This will simulate Ethereum blockchain interactions required for some SDK functions.

0.0.20

1 year ago

0.0.21

1 year ago

0.0.22

1 year ago

0.0.23

1 year ago

0.0.24

1 year ago

0.0.25

1 year ago

0.0.37

1 year ago

0.0.15

1 year ago

0.0.38

1 year ago

0.0.16

1 year ago

0.0.17

1 year ago

0.0.18

1 year ago

0.0.19

1 year ago

0.0.30

1 year ago

0.0.31

1 year ago

0.0.32

1 year ago

0.0.10

1 year ago

0.0.33

1 year ago

0.0.11

1 year ago

0.0.34

1 year ago

0.0.12

1 year ago

0.0.35

1 year ago

0.0.13

1 year ago

0.0.36

1 year ago

0.0.14

1 year ago

0.0.26

1 year ago

0.0.9

1 year ago

0.0.27

1 year ago

0.0.8

1 year ago

0.0.28

1 year ago

0.0.29

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago