Skip to content

Generate DID and Process of Resolving it

To generate a new Decentralized Identifier (DID) and resolve a DID, you can use the DIDRegistryContract class from the skc-sdk. Here are the steps for each process:

Generating a New Decentralized Identifier (DID)

Initialize the DIDRegistryContract

  • You need to initialize the DIDRegistryContract using either a provider or a signer. This involves specifying the contract address, the provider or signer, and the RPC URL.

Generate the DID

  • Call the generateDID method with the public key (Ethereum address) that will be used as the DID identifier.

Here is an example code snippet for generating a DID:

javascript
import { ethers } from 'ethers';
import { DIDRegistryContract } from 'skc-sdk';

// Initialize the provider and signer
const provider = new ethers.JsonRpcProvider("http://localhost:8545");
const signer = provider.getSigner();

// Initialize the DIDRegistryContract using Provider
const didManager = new DIDRegistryContract("0xContractAddress", provider, "rpc-url");

// Generate the DID
const publicKey = "0xYourEthereumAddress";
const did = await didManager.generateDID(publicKey);

Resolving a Decentralized Identifier (DID)

Initialize the DIDRegistryContract

  • Similar to generating a DID, initialize the DIDRegistryContract using either a provider or a signer.

Resolve the DID

  • Call the resolveDID method with the DID string that you want to resolve.

Here is an example code snippet for resolving a DID:

javascript
import { ethers } from 'ethers';
import { DIDRegistryContract } from 'skc-sdk';

// Initialize the provider and signer
const provider = new ethers.JsonRpcProvider("http://localhost:8545");
const signer = provider.getSigner();

// Initialize the DIDRegistryContract using Provider
const didManager = new DIDRegistryContract("0xContractAddress", provider, "rpc-url");

// Resolve the DID
const resolvedDID = await didManager.resolveDID("did:ethr:0x123...");

Additional Information

  • The generateDID method returns a promise that resolves to an Ethereum-based Decentralized Identifier (DID) .
  • The resolveDID method returns a promise that resolves to a DID resolution result, which includes the details of the resolved DID .

By following these steps, you can generate and resolve a Decentralized Identifier using the DIDRegistryContract class from the skc-sdk.