🦸Creating a SuperSkills! Issuer

A zero to sixty guide

This guide assumes the following:

  • You have a web application, such as an online learning platform.

  • You would like to issue Verifiable Credentials from your platform into SuperSkills! App.

  • You would like to follow the major, interoperable standards in the larger ecosystem for issuing credentials between applications!

If that all sounds true, let's get started 🎉

1Identify what credentials you want to issue.

While there are infinite ways you can customize your unique credential, these are the 4 main fields you will want to tweak for each achievement:

  1. Name: the primary name for identifying your Verifiable Credential.

  2. Achievement Name: the granular name for the particular achievement claim in your Verifiable Credential.

  3. Description: common description of what this achievement represents.

  4. Narrative: description of how someone earns this achievement.

  5. Image: a picture representation of this achievement.

// JSON Representation of Achievement
{
    "name": "Achievement Unlocked",
    "achievementName": "Teamwork Achievement",
    "description": "This is a description",
    "criteriaNarrative": "Earned by completing a basic tutorial on our website.",
    "image": "https://www.example.com"
}

Ideally, these credentials would be mapped to credential-able items in your platform i.e. for completing a course in your platform.

Once you've established what credentials you would like to issue, you can checkout the guide for creating new credentials, then return here.

2Sending credentials from your platform using CHAPI.

On the client side, you will need to prepare your web application for issuing credentials. An easy way to achieve interoperability is to use CHAPI.

You should be able to see the credential inside SuperSkills!

3Setting Up a Remote Issuer using VC-API (Optional)

At this point, it's up to you where and how you want to create the credential itself. A very common pattern is to host a remote issuer. Our current recommendation is to setup your own VC-API endpoints using the LearnBridge inside the LearnCard SDK for handling this:

  • Deploy LearnCard Bridge as your VC-API endpoint.

  • Configure your LearnCard to use your VC-API endpoint upon initialization.

  • When you use learnCard.invoke.storeCredentialViaChapiDidAuth(vc) to send the signed credential to an interoperable wallet, your LearnCard will now use your VC-API endpoint for signing the Verifiable Credential! ✅

Need extra help, or have a question? Engage in our Github Discussions!

Don't have access to the Github Discussions yet? Click here.

Last updated