The Elastos DID Method
Every decentralized identifier needs a method — a set of rules that says how to create it, where to look it up, and how to update or retire it. The Elastos DID method (did:elastos) anchors identities on the Elastos Identity Chain (EID).
DID Format
An Elastos DID follows the W3C pattern and looks like this:
did:elastos:icJ4z2DULrHEzYSvjKNJpKyhqFDxvYV7pN
The method-specific ID is derived from the user's public key using SHA-256, RIPEMD-160, and Base58 encoding. Because it comes straight from cryptographic material, no registration authority is involved — generate a key pair and you have a DID.
DID Document
When you publish a DID to the EID chain, a DID Document describes how to interact with that identity. Here is a simplified example:
{
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:elastos:icJ4z2DULrHEzYSvjKNJpKyhqFDxvYV7pN",
"publicKey": [
{
"id": "#primary",
"type": "ECDSAsecp256r1",
"controller": "did:elastos:icJ4z2DULrHEzYSvjKNJpKyhqFDxvYV7pN",
"publicKeyBase58": "27bqfhMew6SjEv2…"
}
],
"authentication": ["#primary"],
"service": [
{
"id": "#hive-vault",
"type": "HiveVault",
"serviceEndpoint": "https://hive1.example.com"
}
]
}
Key fields:
id— the DID itself.publicKey— one or more keys verifiers use to check signatures.authentication— which keys can prove control of this DID.service— optional endpoints (Hive vault, messaging, etc.).
CRUD Operations
| Operation | What happens |
|---|---|
| Create | Generate a key pair locally, derive the DID from the public key, then publish the DID Document as a transaction on EID. |
| Read / Resolve | Query the EID chain by DID to retrieve the current DID Document. Any resolver can do this — no special permissions needed. |
| Update | Publish a new version of the DID Document in a signed transaction. The chain keeps a full history of changes. |
| Deactivate | Publish a deactivation transaction. The DID remains on-chain for auditability but is no longer considered valid. |
DIDs are never truly deleted from the chain — deactivation marks them inactive while preserving the historical record.
DID Registry
All Elastos DIDs live on the Elastos Identity Chain (EID), an EVM-compatible sidechain dedicated to identity. A DID smart contract on EID maintains the registry, storing documents and processing create/update/deactivate transactions.
Because EID is a public chain, anyone can resolve any DID without permission. You only need a private key to write (create, update, or deactivate your own DID).
W3C Compliance
Elastos DIDs conform to the W3C DID Core specification. This means:
- DID Documents use standard JSON-LD contexts.
- Key types, authentication, and service entries follow W3C-defined structures.
- Any W3C-compatible resolver or verifier can work with Elastos DIDs.
Because the method follows W3C standards, Elastos DIDs can participate in cross-ecosystem verification workflows — a verifier does not need to know Elastos internals, just how to resolve did:elastos: identifiers.
Resources
- DID Integration Guide — create and manage DIDs from JavaScript/TypeScript
- EID Explorer — browse identity transactions on the EID chain
- W3C DID Core Specification
- DID Integration Guide