new did doc branch

This commit is contained in:
Oliver Eggert
2023-12-15 22:06:28 -08:00
parent ca0c678ea5
commit 51c4ac8ea5
7 changed files with 301 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
---
html: did.html
parent: ledger-entry-types.html
blurb: The definition and details of a Decentralized Identifier (DID).
labels:
- DID
status: not_enabled
---
# DID
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L330-L341 "Source")
_(Requires the [DID amendment][] :not_enabled:)_
A `DID` ledger entry holds references to, or data associated with, a single [DID](decentralized-identifiers.html).
## Example DID JSON
```json
{
"Account": "rpfqJrXg5uidNo2ZsRhRY6TiF1cvYmV9Fg",
"DIDDocument": "646F63",
"Data": "617474657374",
"Flags": 0,
"LedgerEntryType": "DID",
"OwnerNode": "0",
"PreviousTxnID": "A4C15DA185E6092DF5954FF62A1446220C61A5F60F0D93B4B09F708778E41120",
"PreviousTxnLgrSeq": 4,
"URI": "6469645F6578616D706C65",
"index": "46813BE38B798B3752CA590D44E7FEADB17485649074403AD1761A2835CE91FF"
}
```
## DID Fields
In addition to the [common fields](ledger-entry-common-fields.html), `{{currentpage.name}}` entries have the following fields:
| Field | JSON Type | [Internal Type][] | Required? | Description |
|:--------------------|:----------|:------------------|:----------|--------------|
| `Account` | String | AccountID | Yes | The account that controls the DID. |
| `DIDDocument` | String | Blob | No | The W3C standard DID document associated with the DID. The `DIDDocument` field isn't checked for validity and is limited to a maximum length of 256 bytes. |
| `Data` | String | Blob | No | The public attestations of identity credentials associated with the DID. The `Data` field isn't checked for validity and is limited to a maximum length of 256 bytes. |
| `LedgerEntryType` | String | UInt16 | Yes | The value `0x0049`, mapped to the string `DID`, indicates that this object is a DID object. |
| `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the sender's owner directory links to this entry, in case the directory consists of multiple pages. |
| `PreviousTxnID` | String | Hash256 | Yes | The identifying hash of the transaction that most recently modified this object. |
| `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The index of the ledger that contains the transaction that most recently modified this object. |
| `URI` | String | Blob | No | The Universal Resource Identifier that points to the corresponding DID document or the data associated with the DID. This field can be an HTTP(S) URL or IPFS URI. This field isn't checked for validity and is limited to a maximum length of 256 bytes. |
## {{currentpage.name}} Reserve
The account that creates the `{{currentpage.name}}` object incurs one owner reserve.
## {{currentpage.name}} Flags
There are no flags defined for `{{currentpage.name}}` entries.
## DID ID Format
The ID of a `DID` entry is the [SHA-512Half][] of the following values, concatenated in order:
1. The `DID` space key (`0x0049`).
2. The AccountID that controls the DID.
<!--{# common link defs #}-->
{% include '_snippets/rippled-api-links.md' %}
{% include '_snippets/tx-type-links.md' %}
{% include '_snippets/rippled_versions.md' %}