@datamodels/verifiable-credentials
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

VerifiableCredentials DataModel

DataModel implementation of the VerifiableCredentials schemas and definition.

Installation

npm install -D @datamodels/verifiable-credentials

Rationale

A VerifiableCredential is fact-checking review/attestation of claims made about a credentialsubject, following the W3C VC datamodel.

The VerifiableCredentials data-model provides 3 definitions for the users's DID-datastore:

Each of these definitions has an array of VerifiableCredential stream IDs.

Schemas

ClaimedCredentials

The ClaimedCredentials schema defines the format of a document that contains the properties listed below. Properties not defined in the schema cannot be included in the ClaimedCredentials.

Property Description Value Max Size Required Example
claimed List of VerifiableCredentials self-issued by this DID array of ceramic:// links to VerifiableCredentials streams false

IssuedCredentials

The IssuedCredentials schema defines the format of a document that contains the properties listed below. Properties not defined in the schema cannot be included in the IssuedCredentials.

Property Description Value Max Size Required Example
issued List of VerifiableCredentials issued by this DID to other users array of ceramic:// links to VerifiableCredentials streams false

HeldCredentials

The HeldCredentials schema defines the format of a document that contains the properties listed below. Properties not defined in the schema cannot be included in the IssuedCredentials.

Property Description Value Max Size Required Example
held List of VerifiableCredentials received/issued by other DIDs array of ceramic:// links to VerifiableCredentials streams false

VerifiableCredential

The VerifiableCredential schema defines the format of a document that contains the properties listed below. Properties not defined in the schema cannot be included in the VerifiableCredential.

Property Description Value Max Size Required Example
@context See https://www.w3.org/TR/vc-data-model/#contexts array of string true
type See https://www.w3.org/TR/vc-data-model/#types array of string true
id See https://www.w3.org/TR/vc-data-model/#identifiers url true
issuer See https://www.w3.org/TR/vc-data-model/#issuer object with required property "id" true
credentialSubject See https://www.w3.org/TR/vc-data-model/#credential-subject credentialSubject with required property "id" true
credentialSchema See https://www.w3.org/TR/vc-data-model/#data-schemas credentialSchema with required properties "id" and "type" true
issuanceDate See https://www.w3.org/TR/vc-data-model/#issuance-date ISO Date string true
expirationDate See https://www.w3.org/TR/vc-data-model/#expiration ISO Date string false
proof See https://www.w3.org/TR/vc-data-model/#proofs-signatures object with required property "type" false
evidence See https://www.w3.org/TR/vc-data-model/#evidence object with required property "id" false
credentialStatus See https://www.w3.org/TR/vc-data-model/#status object with required property "id" false

Streams created using this schema can then be linked to a DID's issued credentials on the definitions above.

License

Dual licensed under MIT and Apache 2

Package Sidebar

Install

npm i @datamodels/verifiable-credentials

Weekly Downloads

1

Version

0.1.0

License

(Apache-2.0 OR MIT)

Unpacked Size

47.8 kB

Total Files

14

Last publish

Collaborators

  • paul_lecam