LearnCard Wallet SDK
Quick Start Guide
Install the SDK
pnpm i @learncard/inityarn add @learncard/initnpm i @learncard/initCreate, Issue, and Verify a Credential
import { initLearnCard } from '@learncard/init';
// Generate a random key for wallet seed
const seed = Array.from(crypto.getRandomValues(new Uint8Array(32)), dec =>
dec.toString(16).padStart(2, "0")
).join("");
/** Or, if in node environment:
const seed = crypto.randomBytes(32).toString('hex');
**/
// Initialize a new LearnCard wallet with a unique string that is 64 characters or less
const learnCard = await initLearnCard({ seed });
// Returns an unsigned, achievement credential in the OBv3 spec.
const unsignedAchievementCredential = learnCard.invoke.newCredential({ type: 'achievement' });
// Sign the Credential with your LearnCard issuer DID
const signedVc = await learnCard.invoke.issueCredential(unsignedAchievementCredential);
// Verify the Credential
const result = await learnCard.invoke.verifyCredential(signedVc, {}, true);
console.log(result);
// [
// { status: "Success", check: "proof", message: "Valid" },
// {
// status: "Success",
// check: "expiration",
// message: "Valid • Does Not Expire"
// }
// ]Last updated
Was this helpful?