@civic/spl-identity
TypeScript icon, indicating that this package has built-in type declarations

0.1.4 • Public • Published

SPL Identity - JS client

SPL Identity is a Solana program, which adds the concept of Self-Sovereign Identity to the Solana blockchain. It allows other Solana programs to add "identity gate" functionality: A user can interact with the program only if they are in possession of a valid identity, certified by a trusted identity validator.

A user's personal identity information is not stored on-chain, rather, the identity validator stores a hash of the data against a new account type called an "Identity Account"

This is the JS client for the Identity program.

Usage

Install

npm install @civicteam/spl-identity

or

yarn add @civicteam/spl-identity

Import

import { Identity } from '@civicteam/spl-identity';

Creating a new Identity

Given a funded owner Account:

const identityAccount = await identity.createAccount(owner.publicKey);

Get identity account information

const identityAccountInfo = await identity.getAccountInfo(identityAccount);

// A new identity has no attestations
expect(identityAccountInfo.attestation).to.be.undefined();
expect(identityAccountInfo.owner).to.deep.equal(owner.publicKey);

Add an attestation

Given a funded IDV Account:

const attestation = new Uint8Array(
  // an attestation must be 32 bytes in length
  Buffer.from('my attestation'.padStart(32, ' '), 'utf-8')
);

await identity.attest(identityAccount, idv, attestation);

Validate an attestation

const identityHasAttestation = await identity.hasAttestation(
    identityAccount,
    idv.publicKey,
    attestation
);

expect(identityHasAttestation).to.be.true;

Commands

To build using TSDX, use:

yarn start

This builds to /dist using Rollup, and runs the project in watch mode so any edits you save inside src causes a rebuild to /dist.

To do a one-off build, use yarn build.

To run tests, use yarn test.

Readme

Keywords

none

Package Sidebar

Install

npm i @civic/spl-identity

Weekly Downloads

1

Version

0.1.4

License

MIT

Unpacked Size

288 kB

Total Files

29

Last publish

Collaborators

  • pedroapfilho
  • callforsanity
  • jp-civic
  • chriteixeira
  • daneel
  • mitchcivic
  • dankelleher
  • jonthepilot
  • civicfinance
  • kevinhcolgan
  • flippiescholtz
  • tyronemichael
  • lucmir