updateDID API Reference
This document provides a concise API reference for the updateDID function within the Hedera DID SDK for JavaScript.
Function Signature
The updateDID function allows you to update an existing DID document by providing the DID and an object specifying the desired modifications.
function updateDID(
options: UpdateDIDOptions,
providers: Providers
): Promise<UpdateDIDResult>;
Parameters
The function accepts the following parameters:
-
providers: (Required) An object encapsulating configuration parameters for interacting with the Hedera network. -
options: (Required) An object containing the DID andupdatedDidDocument.
providers Parameter
The table below details the structure of the providers parameter.
| Name | Type | Description |
|---|---|---|
providers |
|
An object containing a Hedera Client, a cryptographic Signer, and a transaction Publisher (refer to Providers Type for details). |
options Parameter
The table below details the structure of the options parameter.
| Name | Type | Description |
|---|---|---|
did |
|
The DID string of the Decentralized Identifier to update. |
updatedDidDocument |
|
The full updated DID document to be published as the next DID state. |
privateKey? |
|
A private key (in DER format) or a |
waitForDIDVisibility? |
|
Whether to wait for the DID to be visible on the network. The DID registration transaction may be confirmed before the DID is actually accessible and usable on the network. This option ensures that the function waits until the DID is fully propagated and discoverable. If set to Defaults to |
visibilityTimeoutMs? |
|
The maximum time (in milliseconds) to wait for the DID to be visible on the network. This option is only relevant if |
topicReader? |
|
An instance of a TopicReader responsible for reading messages from the Hedera network topic. |
Data Types
This section elaborates on the data types employed within the providers parameter.
Providers Type
To utilize this type, at least one of the following must be defined: client or publisher. If both are provided, publisher takes precedence.
The table below provides a detailed description of the Providers type.
| Name | Type | Description |
|---|---|---|
clientOptions? |
|
Configuration options for instantiating a Hedera Client. See a full running example in the source code. |
client? |
|
An instance of a Hedera Client. See a full running example in the source code. |
signer? |
|
An instance of a Signer. If not provided, a private key must be specified in the |
publisher? |
|
An instance of a Publisher responsible for submitting the DID creation transaction to the Hedera network. |
Return Value
Upon successful execution, the function returns a Promise that resolves to a UpdateDIDResult object.
| Name | Type | Description |
|---|---|---|
did |
|
The updated DID string of the Decentralized Identifier. |
didDocument |
|
The updated DID Document associated with the Decentralized Identifier. |
Errors
The following table enumerates the exceptions that may arise during the execution of the updateDID function.
| Exception code | Description |
|---|---|
|
Providers must contain client options or client or publisher. |
|
Hashgraph SDK Client must be configured with a network. |
|
Hashgraph SDK Client must be configured with an operator account. |
|
Signer or private key is required to perform the operation. |
|
Signer or private key is required to perform the operation. |
|
The DID must be a valid Hedera DID. |
|
The DID document was not found. |
|
The proof is invalid. Provided proof does not match the DID signer. |
|
Message awaiter timeout reached. Messages not found. |