-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# [6.4.0](v6.3.3...v6.4.0) (2025-01-16) ### Bug Fixes * add information for GHRC ([#337](#337)) ([01105a0](01105a0)) * add listener async + wait time for presentation verified ([#336](#336)) ([80f3370](80f3370)) * commonJs default export ([#339](#339)) ([00ddc08](00ddc08)) * set requirements for workshop ([#335](#335)) ([eff3cf3](eff3cf3)) ### Features * **backup:** introduce new schema to minimize backup length ([#333](#333)) ([2aa27f8](2aa27f8)) * implementing Startable and propagating stop() ([#309](#309)) ([9e459c5](9e459c5))
- Loading branch information
1 parent
bda7c5f
commit ae967cd
Showing
310 changed files
with
5,746 additions
and
2,461 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
|
||
# Identus TypeScript SDK | ||
|
||
[![Coverage Status](https://coveralls.io/repos/github/input-output-hk/atala-prism-wallet-sdk-ts/badge.svg?branch=master)](https://coveralls.io/github/input-output-hk/atala-prism-wallet-sdk-ts?branch=master) | ||
[![Coverage Status](https://coveralls.io/repos/github/hyperledger/identus-edge-agent-sdk-ts/badge.svg?branch=main)](https://coveralls.io/github/hyperledger/identus-edge-agent-sdk-ts?branch=main) | ||
|
||
--- | ||
|
||
|
@@ -11,90 +11,76 @@ 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](https://github.com/hyperledger/identus-cloud-agent) - Repo that contains the Cloud Agent that provides self-sovereign identity services to build products and solutions. | ||
* [Mediator](https://github.com/input-output-hk/atala-prism-mediator) - Repo for the DIDComm V2 Mediator. | ||
* [Edge Agent SDK TS](https://github.com/input-output-hk/atala-prism-wallet-sdk-ts) - Repo for the Typescript version of the SDK. | ||
* [Edge Agent SDK Swift](https://github.com/input-output-hk/atala-prism-wallet-sdk-swift) - Repo for the Swift version of the SDK. | ||
* [Edge Agent SDK KMP](https://github.com/input-output-hk/atala-prism-wallet-sdk-kmm) - Repo for the Kotlin Multi-Platform version of the SDK. | ||
* | ||
* [Mediator](https://github.com/input-output-hk/identus-prism-mediator) - Repo for the DIDComm V2 Mediator. | ||
* [Edge Agent SDK TS](https://github.com/hyperledger/identus-edge-agent-sdk-ts) - Repo for the Typescript version of the SDK. | ||
|
||
We also have edge agents for other platforms: | ||
* [Edge Agent SDK Swift](https://github.com/hyperledger/identus-edge-agent-sdk-swift) - Repo for the Swift version of the SDK. | ||
* [Edge Agent SDK KMP](https://github.com/hyperledger/identus-edge-agent-sdk-kmp) - Repo for the Kotlin Multi-Platform version of the SDK. | ||
|
||
## SDK Overview | ||
|
||
- 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](https://github.com/input-output-hk/atala-prism-docs/blob/master/documentation/docs/concepts/glossary.md#verifiable-credentials). | ||
- Pollux: Provides a suite of operations for handling [verifiable credentials](https://github.com/hyperledger/identus-docs/blob/master/documentation/docs/concepts/glossary.md#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. | ||
|
||
## Getting started | ||
We highly recommend you check out the [docs](https://hyperledger.github.io/identus-docs/docs/getting-started) :world_map: | ||
|
||
This repository includes a browser and a Node.js demo application, and also a step-by-step documented process on [how to run it](#running-a-demo-project). | ||
|
||
### Use in your project | ||
You can install and use this library in browsers and nodejs. | ||
### Install | ||
|
||
```bash | ||
npm i @atala/prism-wallet-sdk --save | ||
npm i @hyperledger/identus-edge-agent-sdk | ||
``` | ||
|
||
or with yarn | ||
|
||
or | ||
```bash | ||
yarn add @atala/prism-wallet-sdk | ||
yarn add @hyperledger/identus-edge-agent-sdk | ||
``` | ||
|
||
### Running a demo project | ||
|
||
#### Building from source | ||
This repository contains compiles typescript code and some rust dependencies for DIDComm and AnonCreds, so in order to build the code from source you will need the following: | ||
### Demo application | ||
This repository also includes a browser and a Node.js demo application | ||
|
||
#### Build demo dependencies | ||
The demos assume building this repo from source, so you will need the following: | ||
* Bash | ||
* Have Rust ([cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html)) and [wasm-pack](https://rustwasm.github.io/wasm-pack/installer/) installed. | ||
* Rust ([cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html)) and [wasm-pack](https://rustwasm.github.io/wasm-pack/installer/) installed. | ||
* Node JS Version (20/LTS Recommended) | ||
|
||
Clone the repository | ||
``` | ||
git clone [email protected]:input-output-hk/atala-prism-wallet-sdk-ts.git --recruse-submodules | ||
``` | ||
|
||
To be able to run the demos, we have to build `prism-wallet-sdk`. | ||
From the repository root run: | ||
|
||
Clone and build: | ||
```bash | ||
git clone [email protected]:hyperledger/identus-edge-agent-sdk-ts.git --recurse-submodules | ||
cd identus-edge-agent-sdk-ts | ||
npm i | ||
npm run build | ||
``` | ||
|
||
### Running the sample applications | ||
We have enabled sample implementations for browsers (React or Next.js) and Node.js. | ||
To run each demo, ensure the whole SDK builds from the source, then cd into the demo. | ||
|
||
Nodejs CommonJS | ||
If you have any issues while building you can try building from docker (this runs exaclty the same build): | ||
```bash | ||
cd demos/node-cjs | ||
npm i | ||
npm run start | ||
docker build -t atalaprismwalletsdkts:latest "." | ||
docker run -v $(pwd)/build:/app/build atalaprismwalletsdkts:latest | ||
``` | ||
|
||
Nodejs Module | ||
```bash | ||
cd demos/node-esm | ||
npm i | ||
npm run start | ||
``` | ||
#### Run the demos | ||
Once you have [built the demo dependencies](#build-demo-dependencies), you can try out each of the demos: | ||
|
||
Browser NextJS | ||
Browser React / NextJS | ||
```bash | ||
cd demos/next | ||
npm i | ||
npm run build # becuase Error: ENOENT: no such file or directory, open '/.../atala-prism-wallet-sdk-ts/demos/next/.next/BUILD_ID'] | ||
npm run start | ||
npm run dev | ||
``` | ||
|
||
### Implementing storage for the SDK | ||
This SDK exposes Pluto, a storage interface that should be implemented by the user, in the most appropriate way for a particular use case. | ||
Pluto, the SDK storage layer, is not a complete solution and requires some work. To make this as simple as possible, there are multiple options of different complexity provided. These options are discussed in more detail in the Pluto module. | ||
[Read more here.](./src/pluto/README.md) | ||
|
||
We don't provide a default implementation out of the box at the moment, but we do provide a couple of demo implementations that can be used to get started with demos and testing. | ||
> [!WARNING] | ||
> Provided demo implementations are intentionally oversimplified and **should not** be used in production. | ||
Provided demo implementations are intentionally oversimplified and **should not** be used in production. | ||
#### Example community implementations: | ||
- [atala-community-projects/pluto-encrypted](https://github.com/atala-community-projects/pluto-encrypted): InMemory, IndexDB, LevelDB, as well as a test-suite to help you build your own. |
Oops, something went wrong.
ae967cd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.