Skip to content

DDO Schema

OE Verifiable Presentation

mermaid
classDiagram
    class `W3C Verifiable Presentation` {
    }
    class `OE Service Credential` {
    }
    class `W3C Verifiable Credential` {
    }
    class CredentialSubject {
    }
 
    `W3C Verifiable Presentation` "1" --> "1..*" `OE Service Credential` : contains
    `OE Service Credential` "1" --> "1" CredentialSubject : defines
    `W3C Verifiable Credential` <|-- `OE Service Credential` : is a type of

Verifiable Presentation (off-chain metadata object)

AttributeTypeDescriptionRequired
@contextArray of stringThe value of the @context property MUST be an ordered set where the first item is a URL with the value https://www.w3.org/ns/credentials/v2. Subsequent items in the ordered set MUST be composed of any combination of URLs and/or objects, where each is processable as a JSON-LD Context.
typeArray of string["VerifiablePresentation", "OceanEnterpriseServicePresentation"]
verifiableCredentialArray of VerifiableCredentialContains Verifiable credentials in enveloped format (EnvelopedVerifiableCredential) .

OE Service Credential (DDO)

This is a W3C verifiable credential.

AttributeTypeDescriptionRequired
@contextArray of stringThe value of the @context property MUST be an ordered set where the first item is a URL with the value https://www.w3.org/ns/credentials/v2. Subsequent items in the ordered set MUST be composed of any combination of URLs and/or objects, where each is processable as a JSON-LD Context.
idstring (URL)If present, the value of the id property MUST be a single URL, which MAY be dereferenceable. It is RECOMMENDED that the URL in the id be one which, if dereferenceable, results in a document containing machine-readable information about the id.The id property is OPTIONAL.
typeArray of string["VerifiableCredential", "OceanEnterpriseServiceCredential"]
credentialSubjectcredentialSubjectA verifiable credential MUST have a credentialSubject property.
issuerstring (URL)A verifiable credential MUST have an issuer property. The value of the issuer property MUST be either a URL, or an object containing an id property whose value is a URL; in either case, the issuer selects this URL to identify itself in a globally unambiguous way. It is RECOMMENDED that the URL be one which, if dereferenced, results in a controller document, as defined in [VC-DATA-INTEGRITY] or [VC-JOSE-COSE], about the issuer that can be used to verify the information expressed in the credential. More info here.
versionstringVersion number of "OE Service Credential" standard in SemVer notation referring to this DDO spec version, like 1.0.0.

credentialSubject

CredentialSubject

mermaid
---
title: CredentialSubject
---
classDiagram
 
    class CredentialSubject {
    }
 
    class Metadata {
    }
    class Credentials {
    }
 
    class AlgorithmMetadata["AlgorithmMetadata\n(for algorithm type)"] {
    }
 
    class Container {
    }
    class Service {
    }
    class ConsumerParameters["Consumer\nParameters"] {
    }
    class Compute {
    }
 
    CredentialSubject "1" --> "1" Metadata
    CredentialSubject "1" --> "0..*" Credentials
    CredentialSubject "1" --> "1..*" Service
 
    Metadata "1" --> "0..1" AlgorithmMetadata
    AlgorithmMetadata "1" --> "1" Container
    AlgorithmMetadata "1" --> "0..*" ConsumerParameters
 
    Service "1" --> "0..1" Compute
    Service "1" --> "0..*" ConsumerParameters
 
 
AttributeTypeDescriptionRequired
idIf present, the value of the id property MUST be a single URL, which MAY be dereferenceable. It is RECOMMENDED that the URL in the id be one which, if dereferenceable, results in a document containing machine-readable information about the id.The id property is OPTIONAL.
metadatametadata
servicesArray of service
credentialscredentials TODO discuss new secure default
chainIdnumberStores the chainId of the network the DDO was published to.
nftAddressstringNFT contract linked to this asset