@digitalcredentials/issuer-core
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

Issuer (@digitalcredentials/issuer-core)

Build status NPM Version

VC API Issuer library.

Table of Contents

Background

Security

Install

  • Node.js 16+ is recommended.

NPM

To install via NPM:

npm install @digitalcredentials/issuer-core

Development

To install locally (for development):

git clone https://github.com/digitalcredentials/issuer-core.git
cd issuer-core
npm install

Usage

You can use issuer-core to help build a standalone VC-API issuer service. For example:

import { IssuerInstance } from '@digitalcredentials/issuer-core'
import { securityLoader } from '@digitalcredentials/security-document-loader'
import { Ed25519Signature2020 } from '@digitalcredentials/ed25519-signature-2020'
import fastify from 'fastify'
import * as didKey from '@digitalcredentials/did-method-key'

const documentLoader = securityLoader({ fetchRemoteContexts: true }).build()

// load secret key seed from config file, to generate issuer DID
const didKeyDriver = didKey.driver()
const {methodFor} = await didKeyDriver.generate({ seed })
const signingKeyPair = methodFor({ purpose: 'assertionMethod' })

const signingSuite = new Ed25519Signature2020({ key: signingKeyPair })

const issuerInstance = new IssuerInstance({ documentLoader, signingSuite })

const server = fastify(serverOptions)

server.post('/credentials/issue', async (req, res) => {
  // parse the incoming body according to VC-API specs, validate via JSON Schema ...
  const {credential, options} = parseBody(req)
  
  const signedCredential = await issuerInstance.issueCredential({ credential, options })
  // return it in the response etc
})

Contribute

PRs accepted.

If editing the Readme, please conform to the standard-readme specification.

License

MIT License © 2023 Digital Credentials Consortium.

Package Sidebar

Install

npm i @digitalcredentials/issuer-core

Weekly Downloads

0

Version

0.1.0

License

MIT

Unpacked Size

8.04 kB

Total Files

7

Last publish

Collaborators

  • kezike
  • klemoie
  • codenamedmitri
  • kimhd
  • uligall
  • alexander.muehle
  • stuartf
  • jchartrand
  • kiliankae