-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# [6.3.0](v6.2.3...v6.3.0) (2024-11-05) ### Bug Fixes * anoncreds rust build failing, enable bulk-memory c flag on compilation ([#307](#307)) ([7481938](7481938)) * build single commonjs output while keeping ability to use import or require ([#320](#320)) ([2cdbf1e](2cdbf1e)) * e2e workflows misnamed package ([#317](#317)) ([7c152bf](7c152bf)) * enable building from docker ([#303](#303)) ([e6d0008](e6d0008)) * remove rollup dependency ([#300](#300)) ([ff6740e](ff6740e)) ### Features * sdk to sdk sdjwt holder verification ([#292](#292)) ([1d841f4](1d841f4))
- Loading branch information
1 parent
2cdbf1e
commit 06a1343
Showing
305 changed files
with
4,892 additions
and
2,422 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=master)](https://coveralls.io/github/hyperledger/identus-edge-agent-sdk-ts?branch=master) | ||
|
||
--- | ||
|
||
|
@@ -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.
06a1343
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.