@cheqd/sdk
Version:
A TypeScript SDK built with CosmJS to interact with the cheqd network ledger
73 lines (42 loc) âĸ 5.71 kB
Markdown
# TypeScript SDK for cheqd
[](https://github.com/cheqd/sdk/releases/latest)  [](https://github.com/cheqd/sdk/blob/main/LICENSE)
[](https://github.com/cheqd/sdk/releases/)  [](https://github.com/cheqd/sdk/graphs/contributors)
[](https://github.com/cheqd/sdk/actions/workflows/dispatch.yml) [](https://github.com/cheqd/sdk/actions/workflows/codeql.yml) 
## âšī¸ Overview
The purpose of this [`@cheqd/sdk` NPM package](https://www.npmjs.com/package/@cheqd/sdk) is to provide base functionality for interacting with cheqd network. It combines the [Decentralized Identifier (DID)](https://docs.cheqd.io/product/architecture/adr-list/adr-001-cheqd-did-method) and [DID-Linked Resources](https://docs.cheqd.io/product/studio/did-linked-resources) modules, putting them into a Cosmos transaction wrapper using [CosmJS](https://github.com/cosmos/cosmjs).
This package is consumed by other SDKs/libraries such as [Veramo SDK for cheqd](https://docs.cheqd.io/product/sdk/veramo) and [Credo](https://github.com/openwallet-foundation/credo-ts) to add cheqd network support.
This package includes:
* [TypeScript Protobuf definitions](https://github.com/cheqd/ts-proto) for custom cheqd Cosmos SDK modules
* [CosmJS](https://github.com/cosmos/cosmjs), for base Cosmos SDK module functions
## đ Features
Our identity documentation site provides [tutorials for utilising the identity features](https://docs.cheqd.io/product) on cheqd network.
With this SDK, developers are able to:
* â
Create a `did:cheqd` method [DID](https://docs.cheqd.io/product/architecture/adr-list/adr-001-cheqd-did-method)
* â
Update a `did:cheqd` method [DID](https://docs.cheqd.io/product/architecture/adr-list/adr-001-cheqd-did-method)
* â
Deactivate a `did:cheqd` method [DID](https://docs.cheqd.io/product/architecture/adr-list/adr-001-cheqd-did-method)
* â
Create or update [a DID-Linked Resource](https://docs.cheqd.io/product/studio/did-linked-resources)
### đ§° Tooling
* â
**Raw payload creator**: Enables users to generate a valid raw DID payload which is ready to be populated, depending on the use case. For example, `did-provider-cheqd` leverages this helper in the CLI application.
* â
**Identity key converter**: Enables users to convert specific key formats from different kinds of SDKs, by transforming the input keys into valid sign inputs for a cheqd specific DID transaction (e.g. `createDidDocTx`, `updateDidDocTx`). For example, the Veramo SDK for cheqd uses this helper to enable users to pass a key in a Veramo SDK specific format to a cheqd sign input keys interface.
## đ§âđģ Developer Guide
### Installing in ESM projects
To install this NPM package in a project that needs ESM builds, use our `latest` release channel to install the stable version:
```bash
npm install @cheqd/sdk@latest
```
To install beta releases instead, use our `-develop` releases from the `beta` channel:
```bash
npm install @cheqd/sdk@beta
```
### Installing in CommonJS projects
To install this NPM package in a project that needs CommonJS builds, use our `cjs` release channel to install the latest stable CommonJS version:
```bash
npm install @cheqd/sdk@cjs
```
## đ Documentation
Our [product documentation site](https://docs.cheqd.io/product) explains how `@cheqd/sdk` is [consumed in Veramo SDK for cheqd](https://docs.cheqd.io/product/sdk/veramo) (as an example of how this package can be consumed).
## đŦ Community
Our [**Discord server**](http://cheqd.link/discord-github) is the primary chat channel for our open-source community, software developers, and node operators.
Please reach out to us there for discussions, help, and feedback on the project.
## đ Find us elsewhere
[](https://t.me/cheqd) [](http://cheqd.link/discord-github) [](https://twitter.com/intent/follow?screen\_name=cheqd\_io) [](http://cheqd.link/linkedin) [](https://blog.cheqd.io) [](https://www.youtube.com/channel/UCBUGvvH6t3BAYo5u41hJPzw/)