Skip to content

Verisav/dpp-verifiable-credentials

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@verisav/dpp-verifiable-credentials

Issue and verify W3C Verifiable Credentials (VCDM 2.0) for Digital Product Passports.
Built on Veramo. EU Business Wallet–ready. Used in production at Verisav.

Install

npm install @verisav/dpp-verifiable-credentials

Optional (for persistent storage of credentials):

npm install @veramo/data-store

Usage

Issue a Verifiable Credential

import { getVCService } from '@verisav/dpp-verifiable-credentials'

const vcService = getVCService()

const dpp = {
  '@type': 'ProductPassport',
  gtin: '1234567890123',
  name: 'Product XYZ',
  manufacturer: {
    euid: 'EU-FR-123456789',
    name: 'Fabricant XYZ',
  },
}

const vc = await vcService.issueVerifiableCredential({
  dpp,
  issuerEuid: 'EU-FR-123456789',
  expirationDate: new Date(Date.now() + 365 * 24 * 60 * 60 * 1000).toISOString(),
})

console.log('Issued VC:', vc.proof.jws)

Verify a Verifiable Credential

const result = await vcService.verifyVerifiableCredential({ credential: vc })

if (result.valid) {
  console.log('Issuer:', result.issuer)
  console.log('Claims:', result.claims)
} else {
  console.error('Verification failed:', result.error)
}

Configuration

Set VERAMO_SECRET_KEY in production (e.g. openssl rand -hex 32).

By default the agent uses in-memory storage. For production persistence, pass a database connection to createVeramoAgent({ dbConnection }) and install @veramo/data-store.

API

  • getVCService() – Returns the singleton VCService.
  • VCService#issueVerifiableCredential(options) – Issues a VC for a DPP.
  • VCService#verifyVerifiableCredential({ credential }) – Verifies a VC.
  • VCService#dppToVerifiableCredential(dpp, issuerEuid) – Convenience wrapper for issue.
  • createVeramoAgent({ dbConnection?, kmsSecretKey? }) – Build a custom Veramo agent (e.g. with DB).

References

License

MIT

About

Issue and verify W3C Verifiable Credentials for DPP. Used at Verisav. EU Business Wallet–ready.

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors