KrypCore Web3
PlatformSupportSDK
  • 👋Welcome to Krypcore Web3
  • Introduction
    • Overview
    • Product Architecture
    • Supported Networks
  • Product Overview
    • Key Concepts
    • Unified SDK / APIs
      • Benefits of a Unified Model
      • KrypCore Web3 SDK
      • KrypCore Web3 APIs
    • Infrastructure
      • Blockchain Endpoints
        • Adding network to Metamask
      • Storage Endpoints
      • DID Service Endpoints
    • Core Services
      • Wallets
        • Choosing the right wallet for your Dapp
        • Custodial Wallet
        • Self Managed Wallet
        • MPC Wallet
        • Developer Wallet
        • Smart Contract Wallet
      • Smart Contracts
        • Deploy from Templates
          • Templates Explained
            • ERC 20
            • ERC 721
            • ERC 1155
            • ERC20DAO Token
            • TokenERC20
        • Deploy your own contract
        • Deploy Contract
        • Load Contract
      • NFT
        • Creating a collection
        • Minting NFTs
      • FT
        • Creating an ERC-20 token
      • DIDs
      • Storage
    • Add on Services
      • Datalake
      • Gasless
        • Integration Steps
        • Considerations and Best Practices
  • API Reference
    • KCW3 APIs Explained
    • Infrastructure APIs
      • Ethereum JSON RPC APIs
        • eth_accounts
        • eth_blockNumber
        • eth_call
        • eth_chainId
        • eth_estimateGas
        • eth_feeHistory
        • eth_gasPrice
        • eth_getBalance
        • eth_getBlockByHash
        • eth_getBlockByNumber
        • eth_getBlockReceipts
        • eth_getBlockTransactionCountByHash
        • eth_getBlockTransactionCountByNumber
        • eth_getCode
        • eth_getFilterChanges
        • eth_getFilterLogs
        • eth_getLogs
        • eth_getProof
        • eth_getStorageAt
        • eth_getTransactionByBlockHashAndIndex
        • eth_getTransactionByBlockNumberAndIndex
        • eth_getTransactionByHash
        • eth_getTransactionCount
        • eth_getTransactionReceipt
        • eth_getUncleCountByBlockHash
        • eth_getUncleCountByBlockNumber
        • eth_hashrate
        • eth_maxPriorityFeePerGas
        • eth_mining
        • eth_newBlockFilter
        • eth_newFilter
        • eth_newPendingTransactionFilter
        • eth_signTransaction
        • eth_syncing
        • eth_uninstallFilter
        • eth_unsubscribe
        • eth_sendRawTransaction
        • net_listening
        • net_peerCount
        • net_version
        • txpool_content
        • txpool_inspect
        • txpool_status
        • web3_clientVersion
        • web3_sha3
      • IPFS HTTP Client APIs
        • How to
        • HTTP API methods
          • add
          • block_get
          • block_stat
          • cat
          • dag_get
          • dag_import
          • dag_put
          • dag_resolve
          • get
          • pin_add
          • pin_ls
          • pin_rm
          • pin_update
          • version
          • block_put
    • Core Service APIs
      • Wallet Manager APIs
        • Self Managed Wallet
          • Setup SM Wallet
          • Create Wallet
          • Get Wallet balance
          • Sign Message
          • Verifies Signature off chain
          • Deploy Contract
          • Submit Transaction
          • Estimating Gas Price
          • Call Contract Method
          • Sign and Submit Gasless Transaction
        • Developer Wallet
          • Generate Keys
          • Deploy Contract
          • Call Contract
          • Get Balance
          • Sign And Submit Gasless Txn
          • Create And Execute Txn
          • Sign EIP712 Txn
          • Verify Signature OffChain
          • Sign Message
          • Sign TxHash
          • Estimate Gas
        • Smart Contract Wallet APIs
          • Create Wallet
          • Get All SC Wallet Details
          • GenerateUserOp
          • SubmitUserOp
      • DID Manager APIs
        • Create issuer Profile
        • Create Subject Profile
        • Create Verifiable Credentials
        • Create Verifiable Presentation
        • List Issuer Profile
        • List Subject Profile
        • List Verifiable Credential
        • List Verifiable Credential Templates
        • Verify Verifiable Credential
        • Revoke Verifiable Credential
        • Delete Issuer Profile
        • Resolve DID
      • NFT Studio APIs
        • Create NFT Collection
        • Get all NFT Collections details created by a user
        • Get a NFT collection details created by a user
        • Mint NFT
        • Get all Minted NFT details in a smart contract
      • FT Manager APIs
        • Create ERC20Token
        • Get all Fungible Token details created by user
        • Get a Fungible Token details created by user
        • Mint ERC20 Token
        • Approve ERC20Token
        • Transfer ERC20 Token
        • Burn ERC20Token
        • Get Total Supply
        • Get Balance of an user address
      • Storage Manager APIs
        • Upload file to IPFS Storage
        • Get File Details
        • Download Files from IPFS
        • Update Pin status
      • Gasless API
        • Get Transaction Payload
        • Send Transaction
        • Create Gas Request
        • Add Whitelisted Contract Linked to DApp
        • List All Whitelisted Contracts
        • List All Protocol Configs
        • List All Funded Transactions
        • Update Configured Gas Limit
        • Deactivate Whitelisted Contract
        • Get Protocol Config using userId and ChainId
        • Sign And Submit Gasless Txn Using (Dev wallet)
        • Sign And Submit Gasless Txn Using (kms wallet)
    • Add On APIs
      • Gasless Transactions APIs
      • Datalake APIs
  • SDK Reference
    • Getting Started
    • SDK Architecture
    • Wrapper Packages
    • Power Methods
      • Wallet Suite
      • Utils Suite
    • Core Service Methods
      • Custodial Wallet Kit
      • DID Kit
      • NFT Kit
      • FT Kit
      • Storage Kit
  • faq
    • Platform FAQs
    • API FAQs
    • SDK FAQs
  • Releases
    • Latest Updates
    • Release Notes v1.0.0 Beta
    • Release Notes v1.0.0
Powered by GitBook
On this page
  • DID Manager
  • Table of Contents
  • Bootstrapping the SDK for DID kit
  • SDK Methods

Was this helpful?

  1. SDK Reference
  2. Core Service Methods

DID Kit

DID Manager

The DID Manager SDK provides a set of methods for managing decentralized identifiers (DIDs) and interacting with the associated DID documents. This SDK enables developers to create issuer and subject profiles, resolve DIDs, delete DIDs, manage Verifiable Credential (VC) creation, and more.

Table of Contents

  • Create Issuer Profile

  • Create Subject Profile

  • Resolve DID

  • Delete Issuer DID

  • Delete Subject DID

  • List Issuer Profiles

  • List Subject Profiles

  • Create Verifiable Credential

  • List Verifiable Credentials

  • List VC Templates

Bootstrapping the SDK for DID kit

const krypcore_web3_sdk = require("@krypc/krypcore-web3-sdk");
const configFilePath = '../../config.json';
const Web3Engine = new krypcore_web3_sdk.Web3Engine(configFilePath);
const DidManagerService = new krypcore_web3_sdk.Services.DidManager(configFilePath);

SDK Methods

Create Issuer Profile

createIssuerProfile(name, greeting, designation, key)

Creates an issuer profile with the specified details.

Parameters

  • issuerName (string): The name of the issuer.

  • issuerDescription (string): The description of the issuer.

  • issuerDesignation (string): The designation of the issuer.

  • method (string): The did method type to create

Usage

const issuerProfileCreationStatus = await DidManagerService.createIssuerProfile("Bharathq", "Hello", "Desig", "key");
console.log(issuerProfileCreationStatus);

Create Subject Profile

createSubjectProfile(subjectId, subjectName, subjectDescription, method)

Creates a subject profile with the specified details.

Parameters

  • email (string): The email of the subject.

  • name (string): The name of the subject.

  • description (string): The description of the subject.

  • key (string): The key associated with the subject.

Usage

const subjectProfileCreationStatus = await DidManagerService.createSubjectProfile("nick@krypqc.com", "nick", "desc", "key");
console.log(subjectProfileCreationStatus);

Resolve DID

resolveDid(did)

Resolves the given DID to its associated DID document.

Parameters

  • did (string): The DID to resolve.

Usage

const resolveDidStatus = await DidManagerService.resolveDid("did:key:z6MkfUupa7JeZcjg44SH86vpHSFVSK3sVNtugwYH77bkJfrs");
console.log(resolveDidStatus);

Delete Issuer DID

deleteIssuerDid(did)

Deletes the specified issuer DID.

Parameters

  • did (string): The issuer DID to delete.

Usage

const deleteIssuerDidStatus = await DidManagerService.deleteIssuerDid("did:key:z6MkfUupa7JeZcjg44SH86vpHSFVSK3sVNtugwYH77bkJfrs");
console.log(deleteIssuerDidStatus);

Delete Subject DID

deleteSubjectDid(did)

Deletes the specified subject DID.

Parameters

  • did (string): The subject DID to delete.

Usage

const deleteSubjectDidStatus = await DidManagerService.deleteSubjectDid("did:key:z6MkfUupa7JeZcjg44SH86vpHSFVSK3sVNtugwYH77bkJfrs");
console.log(deleteSubjectDidStatus);

List Issuer Profiles

listIssuerProfiles(limit, page)

Lists the issuer profiles with pagination support.

Parameters

  • limit (number): The maximum number of profiles to return.

  • page (number): The page number to retrieve.

Usage

const issuerProfiles = await DidManagerService.listIssuerProfiles(5, 1);
console.log(issuerProfiles.Data);

List Subject Profiles

listSubjectProfiles(limit, page)

Lists the subject profiles with pagination support.

Parameters

  • limit (number): The maximum number of profiles to return.

  • page (number): The page number to retrieve.

Usage

const subjectProfiles = await DidManagerService.listSubjectProfiles(5, 1);
console.log(subjectProfiles.Data);

Create Verifiable Credential

createVC(issuerDid, subjectDid, proofType, template)

Creates a Verifiable Credential (VC) between the specified issuer and subject DIDs.

Parameters

  • issuerDid (string): The issuer DID.

  • subjectDid (string): The subject DID.

  • proofType (string): The proof type for the VC.

  • template (string): The VC template name.

Usage

const vcCreationStatus = await DidManagerService.createVC("did:key:z6MkhnAbbQsrPQGNyHDLNqjt5ywa9cQWwS7bmLzM7seCqtQ4", "did:key:z6MkiAXLfj9beATvYJLy7w2A9z9p63FWAGo7cV79yvQ4aCqd", "LD_PROOF", "StatusList2021Entry");
console.log(vcCreationStatus);

List Verifiable Credentials

listVC(limit, page)

Lists the Verifiable Credentials (VCs) with pagination support.

Parameters

  • limit (number): The maximum number of VCs to return.

  • page (number): The page number to retrieve.

Usage

const listVcStatus = await DidManagerService.listVC(5, 1);
console.log(listVcStatus.Data);

List VC Templates

listVCTemplates()

Lists the available Verifiable Credential (VC) templates.

Usage

const listVcTemplatesStatus = await DidManagerService.listVCTemplates();
console.log(listVcTemplatesStatus);

Make sure to replace the provided values with the appropriate ones for your application. If needed, refer to the KrypCore Web3 SDK documentation for more details on the parameters and usage of each method.

Please ensure that your environment is properly configured and that you have the necessary access tokens and dependencies in place.

Feel free to reach out if you have any further questions or need additional assistance.

PreviousCustodial Wallet KitNextNFT Kit

Last updated 1 year ago

Was this helpful?