Demonstrates how to issue and verify Verifiable Credentials.
WARNING: No part of this demo should be used in production systems. Generated private keys are not encrypted by default.
- A 64-bit system
- git >= v2.x
- docker >= 18.x
Running this demo consists of:
- Cloning the repository.
- Getting a GitHub Personal Access Token.
- Generating a public/private keypair.
- Issuing a Verifiable Credential.
- Verifying the Verifiable Credential.
git clone https://github.com/digitalbazaar/vc-demo.git
cd vc-demo
The rest of this demo assumes that you have created the following command line alias:
alias vc='docker run -i -v $(pwd):/home/node/app/key-file digitalbazaar/vc-js-cli'
This demo will publish newly generated key and controller documents as a gists
under your GitHub account. This requires a
GitHub Personal Access Token
with only the gist
scope enabled.
You will need to generate a public-private keypair to run this demo.
Once the keypair is created, the public key will be published to
a gist under your GitHub account using the GitHub Personal Access
Token you created in the previous step. The private key information
as well as where the public key was published will be saved locally
as my-key.json
.
vc keygen --key-type ed25519 --git-hub-token YOUR_GITHUB_TOKEN > my-key.json
vc keygen --key-type secp256k1 --git-hub-token YOUR_GITHUB_TOKEN > my-key.json
Once your keypair has been generated and the public information has been published, you can use it to issue Verifiable Credentials.
The credentials
directory stores a number of template credentials
that can be used with the issue
command. To issue a
Verifiable Credential, you can execute the following command:
vc issue --key my-key.json < credentials/alumni.jsonld > alumni-signed.jsonld
The command above will create a file called alumni-signed.jsonld
,
consisting of the issued Verifiable Credential.
To verify a Verifiable Credential, the following command can be used:
vc verify < alumni-signed.jsonld
The verification result will be printed to the screen.