@kravc/credentials

1.4.2 • Public • Published

@kravc/credentials

CLI for Credentials service to manage issuers and verifiable credentials.

Quick Start

Install npm package as development dependency:

npm i --save-dev @kravc/credentials

Register an Issuer

Create ./issuer.json file with issuer metadata, icon and credential types, e.g:

{
  "iconPath": "icon.png",
  "metadata": {
    "url":      "https://apple.co/394ouT8",
    "title":    "Mines - Classic Bomb Puzzle",
    "subtitle": "Minesweeper logic board game",
    "category": "Games"
  },
  "credentialTypes": [
    {
      "name": "Score",
      "version": 1,
      "schemas": [
        {
          "name": "Player",
          "fields": [
            { "name": "id",                "$type": "string" },
            { "name": "hasVideoGameScore", "$type": "ref", "$ref": "VideoGameScore" }
          ]
        },
        {
          "name": "VideoGameScore",
          "fields": [
            { "name": "videoGame",      "$type": "ref", "$ref": "VideoGame" },
            { "name": "wins",           "$type": "integer" },
            { "name": "rounds",         "$type": "integer" },
            { "name": "winRate",        "$type": "integer" },
            { "name": "topScore",       "$type": "integer" },
            { "name": "topScoreJson",   "$type": "string" },
            { "name": "bestStreak",     "$type": "integer" },
            { "name": "bestStreakJson", "$type": "string" },
            { "name": "enduranceMs",    "$type": "integer" },
            { "name": "bestRoundMs",    "$type": "integer" },
            { "name": "bestRoundJson",  "$type": "string" },
            { "name": "averageRoundMs", "$type": "integer" },
            { "name": "dateStarted",    "$type": "dateTime" }
          ]
        },
        {
          "url":  "https://schema.org/",
          "name": "VideoGame",
          "fields": [
            { "name": "url",     "$type": "string" },
            { "name": "name",    "$type": "string" },
            { "name": "version", "$type": "string" }
          ]
        }
      ]
    }
  ]
}

Registers a new issuer:

npx credentials issuer.json

If the script runs for the first time it generates key pair (DID) for the administrator and stores it in the local keychain. This behavior could be overriden by using .portal.json file.

To pre-configure administrators identity, generate private key seed via:

npx credentials seed

Create .portal.json file replacing DEFAULT_SEED with the value generated via seed command:

{
  "default": "DEFAULT_SEED"
}

Make sure the file is added to the .gitignore and is not committed. Check out full set of files at example/ folder.


Author: Alexander Kravets

Revision: June 23, 2021

/@kravc/credentials/

    Package Sidebar

    Install

    npm i @kravc/credentials

    Weekly Downloads

    3

    Version

    1.4.2

    License

    ISC

    Unpacked Size

    47.1 kB

    Total Files

    12

    Last publish

    Collaborators

    • kravc