Identus is a self-sovereign identity (SSI) platform and service suite for verifiable data and digital identity. Built on Cardano, as a distributed ledger, it offers core infrastructure for issuing DIDs (Decentralized identifiers) and verifiable credentials, alongside tools and frameworks to help expand your ecosystem. The complete platform is separated into multiple repositories:
- Cloud Agent - Repo that contains the Cloud Agent that provides self-sovereign identity services to build products and solutions.
- Mediator - Repo for the DIDComm V2 Mediator.
- Edge Agent SDK TS - Repo for the Typescript version of the SDK.
We also have edge agents for other platforms:
- Edge Agent SDK Swift - Repo for the Swift version of the SDK.
- Edge Agent SDK KMP - Repo for the Kotlin Multi-Platform version of the SDK.
- Apollo: Provides a suite of necessary cryptographic operations.
- Castor: Provides a suite of operations to create, manage and resolve decentralized identifiers.
- Pollux: Provides a suite of operations for handling verifiable credentials.
- Mercury: Provides a suite of operations for handling DIDComm V2 messages.
- Pluto: Provides an interface for storage operations in a portable, storage-agnostic manner.
- Agent: A component using all other building blocks, provides basic edge agent capabilities, including implementing DIDComm V2 protocols.
We highly recommend you check out the docs 🗺️
npm i @hyperledger/identus-edge-agent-sdk
or
yarn add @hyperledger/identus-edge-agent-sdk
This repository also includes a browser and a Node.js demo application
The demos assume building this repo from source, so you will need the following:
Clone and build:
git clone git@github.com:hyperledger/identus-edge-agent-sdk-ts.git --recurse-submodules
cd identus-edge-agent-sdk-ts
npm i
npm run build
Once you have built the demo dependencies, you can try out each of the demos:
Nodejs Module:
cd demos/node-esm
npm i
npm run start
Nodejs CommonJS:
cd demos/node-cjs
npm i
npm run start
Browser React / NextJS
cd demos/next
npm i
npm run build # becuase Error: ENOENT: no such file or directory, open '/.../identus-edge-agent-sdk-ts/demos/next/.next/BUILD_ID']
npm run start
This SDK exposes Pluto, which manages data schemas, migrations for you, but requires a Pluto.Store which needs to be implemented by the user, as this is particular to your use case.
Provided demo implementations are intentionally oversimplified and should not be used in production.
Example community implementations:
- atala-community-projects/pluto-encrypted: InMemory, IndexDB, LevelDB, as well as a test-suite to help you build your own.