@kravc/portal v1.3.2
@kravc/portal
Client for managing Portal issuers and verifiable credential types.
Quick Start
Install npm package as development dependency:
npm i --save-dev @kravc/portal
npm i --save-dev @kravc/dos-ssiRegister Issuer
Create ./issuer.json file containing issuer metadata, icon and credential
types, e.g:
{
"iconPath": "icon.png",
"metadata": {
"url": "https://portal.kra.vc/minesweeper/",
"title": "Minesweeper",
"subtitle": "Classic board puzzle",
"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 on the Portal:
npx portalIf 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 preconfigure administrators identity
generate private key seed using command (requires @kravc/dos-ssi to be
installed as development dependency):
npx seedCreate .portal.json file replacing DEFAULT_SEED with the value generated
via seed command:
{
"default": "DEFAULT_SEED"
}Make sure file is added to the .gitignore and is not committed. Check out
full set of files at example/ folder.