1
0
mirror of https://github.com/oceanprotocol/docs.git synced 2024-11-15 01:34:51 +01:00
docs/developers/identifiers.md
2023-12-04 17:35:16 +02:00

2.0 KiB

description
Specification of decentralized identifiers for assets in Ocean Protocol using the DID & DDO standards.

Identifiers (DIDs)

Identifiers

In Ocean, we use decentralized identifiers (DIDs) to identify your asset within the network. Decentralized identifiers (DIDs) are a type of identifier that enables verifiable, decentralized digital identity. In contrast to typical, centralized identifiers, DIDs have been designed so that they may be decoupled from centralized registries, identity providers, and certificate authorities. Specifically, while other parties might be used to help enable the discovery of information related to a DID, the design enables the controller of a DID to prove control over it without requiring permission from any other party. DIDs are URIs that associate a DID subject with a DID document allowing trustable interactions associated with that subject.

{% embed url="https://www.youtube.com/watch?t=95s&v=I06AUNt7ee8" %} What is a DID and DDO? {% endembed %}

Examples

DIDs in Ocean follow the generic DID scheme, they look like this:

did:op:0ebed8226ada17fde24b6bf2b95d27f8f05fcce09139ff5cec31f6d81a7cd2ea

The part after did:op: is the ERC721 contract address(in checksum format) and the chainId (expressed to 10 decimal places). The following javascript example shows how to calculate the DID for the asset:

const CryptoJS = require('crypto-js')

const dataNftAddress = '0xa331155197F70e5e1EA0CC2A1f9ddB1D49A9C1De'
const chainId = 1
const checksum = CryptoJS.SHA256(dataNftAddress + chainId.toString(10))
const did = 'did:op:' + checksum

console.log(did)

Before creating a DID you should first publish a data NFT, we suggest reading the following sections so you are familiar with the process: