LearnCard Developer Docs
  • πŸš€Get Started
    • πŸ‘‹Welcome
    • ⭐Who are you?
      • Learners & Employees
      • Traditional Educator
      • Non-Traditional Educator
      • Assessment Provider
      • Employer
      • App Developer & EdTech
      • DAO & Communities
      • Content Creators
      • Research Institutions
      • NGOs & Governments
      • Plugfest Partner
        • Guide for Interop Issuers
          • 🀽Creating an Interop Issuer
        • Guide for Interop Wallets
    • Protocol Overview
      • The Internet of Education
      • The Learning Economy
      • Learner & Employee Privacy
      • 22nd Century Education
      • The Open Credential Network
      • PVCs
  • πŸ”°LearnCard SDK
    • What is LearnCard?
      • Why a Universal Wallet?
      • Architectural Patterns
      • Production Deployment Guide
      • Troubleshooting Guide
    • LearnCard Core
      • Quick Start
        • Create New Credentials
          • Creating Verifiable Credentials for LearnCard
          • Achievement Types and Categories
          • Custom Types
          • Understanding Boosts
          • Creating Boost Credentials
        • Sign & Send Credentials
        • Accept & Verify Credentials
        • Share & Present Credentials
      • Construction
        • Managing Seed Phrases
        • initLearnCard
        • DIDKit
        • learnCardFromSeed
        • emptyLearnCard
        • IDX Config
      • Control Planes
        • ID
        • Read
        • Store
        • Index
        • Cache
        • Context
      • Plugins
        • Adding Plugins
        • Official Plugins
          • Dynamic Loader
          • Crypto
          • DIDKit
          • DID Key
          • VC
            • Expiration Sub-Plugin
          • VC Resolution
          • VC-Templates
          • VC-API
          • Ceramic
          • IDX
          • VPQR
          • Ethereum
          • CHAPI
          • LearnCard Network
          • LearnCloud
          • LearnCard
          • Claimable Boosts
        • Writing Plugins
          • The Simplest Plugin
          • The Plugin Type
          • The LearnCard Type
          • Implementing Control Planes
          • Implementing Methods
          • The Implicit LearnCard
          • Depending on Plugins
          • Private Fields
          • Publishing a Plugin to NPM
      • URIs
      • CHAPI
        • ⭐CHAPI Wallet Setup Guide
        • ↔️Translating to CHAPI documentation
        • πŸ–₯️Demo Application
        • πŸ”°Using LearnCard to Interact with a CHAPI Wallet
        • πŸ“Cheat Sheets
          • Issuers
          • Wallets
      • LearnCard UX
        • Quick Start
        • Components
          • Verifiable Credentials
            • VC Thumbnail
            • VC Thumbnail, Mini
          • LearnCards
            • LearnCard Front
            • LearnCard Back
        • API
      • LearnCard Bridge
      • API
      • Migration Guide
    • LearnCard Network
      • LearnCard Network API
        • Authentication
        • Auth Grants and API Tokens
        • Profile
        • Credentials
        • Boosts
        • Presentations
        • Storage
        • Signing Authorities
        • Notifications
        • API Docs
        • Launch Your Own Network
      • πŸ”ŒConnect Your Application
    • ConsentFlow
      • Setting Up ConsentFlow with an Independent Network
    • GameFlow
      • Sending xAPI Statements
        • xAPI URIs
      • Reading xAPI Statements
        • Advanced xAPI Statement Queries
      • Consentful "Claim Later" Flow
  • πŸš€Applications
    • LearnCard
    • SuperSkills!
      • SuperSkills! SDK
        • Digital Wallets
        • Issuing into SuperSkills!
        • 🦸Creating a SuperSkills! Issuer
    • Metaversity
    • Admin Dashboard
  • πŸ”—Resources
    • Github
    • Community
    • πŸ’…Custom Development
    • Contact Our Team
    • Learning Economy
  • πŸ€–LearnCard Services
    • LearnCard CLI
    • Discord Bot
    • Metamask Snap
  • πŸ’ΈLearnBank SDK
    • Why LearnBank?
  • πŸ“ŠLearnGraph SDK
    • Why LearnGraph?
Powered by GitBook
On this page
  • Some common use cases:
  • Are you using LearnCard?
  • Quick Start
  • #1β€”Issue Credentials in your Community
  • #2β€”Verify Credentials in your Community
  • Accepting Credentials using CHAPI
  • Verifying Credentials using LearnCard SDK
  • Advanced
  • Build Your Own Bot
  • Build Your Own Plugin
  • Coming Soon
  • LearnBank

Was this helpful?

  1. Get Started
  2. Who are you?

DAO & Communities

Using LearnCard to supercharge your DAO or community!

PreviousApp Developer & EdTechNextContent Creators

Last updated 2 years ago

Was this helpful?

If you participate in a DAO, and are interested in understanding how LearnCard can augment your communityβ€”you've come to the right place!

This guide will walk you through everything you need to get started. No prior experience required.

First things first: you need to identify your use case. Why are you interested in using LearnCard in the first place?

Some common use cases:

  • Achievements: you want to recognize your members when they do cool or significant stuff in your community. Start .

  • Courses: you want to issue skills, learning certificates, achievements, and more when members of your community progress through your curriculum. Start .

  • Endorsements: you want to enable or accept peer-to-peer endorsements within your community. Start .

  • Gated Content: you want to unlock content or channels in your community based on the achievement of specific credentials. Start .

  • Proof of Membership: you want to issue proof of membership in your community. Start .

  • Hiring: you want to verify skills, endorsements, and reputation when hiring people in and outside of your community. Start .

  • Identity & KYC: you want to verify identity of members or potential members. Start .

Are you using LearnCard?

We'd love to hear to hear from you! Share your story in our, or send us an email at β€”we'd love to feature your work πŸ™Œ.

Quick Start

These are some of the most common and quickest ways to get started.

#1β€”Issue Credentials in your Community

Great! You've decided that you would like to issue credentials in your communityβ€”achievements, skills, learning certificates, endorsements, identities, etc.

First, you need to identify what service, bot, or app you will use to issue your credentials.

Flip through the tabs to learn more about each option:

If your community already lives in Discord, one of the easiest ways to get started is to use our Discord bot.

If you haven't already, follow the instructions to get the Discord bot setup in your community, then come back here!

For peer-to-peer credential issuing, it's often easy to use the LearnCard app itself!

If you haven't already, get setup with LearnCard, then return here!

If your community heavily uses Metamask, there are ways to enable issuance flows through Metamask.

If you haven't already, follow the instructions to get Metamask setup in your community, then come back here!

Second, you need to identify what credentials you will be issuing.

If you are using the VCTemplatesPlugin (enabled by default with LearnCard), there are a variety of default credential templates to help you get started quickly! Flip through the tabs to see some default options, and what information you will need to compile:

There are 4 main fields you will want for each achievement:

  1. Title: the main way of identifying your achievement e.g. "Achievement Unlocked"

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

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

  4. Image: a picture representation of this achievement.

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

Coming soon.

Coming soon.

Coming soon.

Coming soon.

Check out the VC-Templates plugin for more options:

Third, you need to configure your issuing platform to use your credential templates.

Use the /create-credential command. It will open a modal and walk you through creating a credential template, with first-class support for achievements, learning completions, skills, and IDs.

Coming soon.

Coming soon.

Then, start issuing credentials!

Use the /send-credential @<user> command to start issuing credentials to your members.

Coming soon.

Coming soon.

#2β€”Verify Credentials in your Community

In a community platform such as a DAO, you want to streamline the verification process of members' credentials for various use cases like achievements, courses, endorsements, gated content, proof of membership, hiring, and identity & KYC. You can achieve this using the CHAPI (Credential Handler API) and the LearnCard SDK. The following steps outline how an App Developer can accept and verify credentials in their platform using CHAPI and LearnCard SDK.

Accepting Credentials using CHAPI

  1. Import the CHAPI Polyfill into your platform based on your development environment. You can either use the script tag method for vanilla JavaScript or import the polyfill library in Node.js.

  2. Construct a Verifiable Presentation Request using the desired credential types (e.g., AchievementCredential for recognizing members' achievements).

  3. Wrap the Verifiable Presentation Request in a Web Credential Query, allowing your platform to request credentials from a user's digital wallet.

  4. Request a Web Credential using the navigator.credentials.get(credentialQuery) function. The user will be prompted to present the requested credentials from their digital wallet.

  5. Handle null results, which can occur when the user denies the request or does not have a wallet installed. As a developer, decide how to handle these situations by offering fallback mechanisms, retry options, or alternate paths.

Verifying Credentials using LearnCard SDK

  1. Check the results of the verification to ensure the validity of the credentials. The result will contain an array of objects with status, check, and message properties.

  2. If the verification is successful, proceed with the next steps specific to the use case (e.g., granting access to gated content or issuing proof of membership). Otherwise, handle the failed verification case by either requesting the user to provide valid credentials or implementing any other suitable action.

By integrating CHAPI and LearnCard SDK into your community platform, you can create a seamless and secure process for accepting and verifying member credentials for various use cases. This will not only streamline the verification process but also provide added security and trust in the credentials presented by the members, enhancing the overall community experience.

Advanced

Sometimes you need more than the basic, out-of-the-box flows because you have a complex community or use case. That's great! All of our tooling is fully pluggable and open-source, so with a little elbow grease and developer time, you should be able to accomplish your goals.

Build Your Own Bot

Does your community use a platform not yet supported? Let's change that:

Build Your Own Plugin

Do you have a unique requirement, such as supporting a specific DID method, protocol, or system? You might need to build your own plugin:

Coming Soon

These features aren't yet available, but they are coming soon on our roadmapβ€”never to early too get excited!

LearnBank

Experimental: Metamask Snaps is in early beta with Consensys. Snaps, to date, can only be installed in the experimental - this is only required for issuing credentials. Normal Metamask users may use regular Metamask to claim credentials.

It will prompt you to select one of your credential templates from . Then, the LearnCard bot will send a direct message to your community member with steps on how they can claim their shiny new credential!

See the .

After receiving the credentials from the user's wallet, use the LearnCard SDK's function to verify the received credentials.

Did we miss your use case? We'd love to chat and hear what you are working on to see how we can help. Post a question to our developer community, the Super Skills League, or shoot us an email at .

Don't have your own developers? We're here to .

Earn-and-learn: you want to incentivize learning in your community on a specific topic, or even incentivize people to learn about your community.

Gig Micropayments: smart contract templates for issuing micropayments with proof of a verifiable credential, i.e. streaming payments and proof-of-work. Credential the actual tasks connected to a todo list; tracked with PVCs feeds reputation, ability to access things, ability to get paid autonomously.

πŸš€
⭐
πŸ’Έ
πŸ’°
Discord Bot
LearnCard
Metamask Flask
Metamask Snap
VC-Templates
full CHAPI documentation for verifiers here
learnCard.invoke.verifyCredential(signedVc)
Accept & Verify Credentials
sdk@learningeconomy.io
help
Writing Plugins
πŸŽ‰
πŸ†
πŸŽ“
πŸ‘
πŸ”“
βœ…
🀝
πŸ’³
Github Discussions
community@learningeconomy.io
here
here
here
here
here
here
here
✨
Step 3