Skip to content

Latest commit

 

History

History
86 lines (63 loc) · 3.52 KB

README.md

File metadata and controls

86 lines (63 loc) · 3.52 KB

UML Diagrams

Architecture Diagram

Actors

  • DCX: Protocol boundary within which actors communicate
  • DCX Issuer: Web server running @web5/dcx and web5-js
  • Issuer DWN: DCX Issuer's DWN server running dwn-sdk-js
  • DCX Applicant: User client application running @web5/dcx and web5-js
  • Applicant DWN: DCX Applicant's DWN server running dwn-sdk-js

dcx-architecture

Sequence Diagram

Full Protocol

  1. DCX Issuer configures Issuer DWN with dcx protocol
  2. DCX Issuer creates credential manifest record in Issuer DWN
  3. DCX Issuer creates subscription to Issuer DWN
  4. DCX Applicant creates subscription to Applicant DWN
  5. DCX Applicant reads credential manifest record from Issuer DWN
  6. DCX Applicant acquires required credentials from issuers listed in manifest
  7. DCX Applicant creates application record in Issuer DWN
  8. DCX Issuer reads application record via Issuer DWN subscription
  9. DCX Issuer uses @web5/dcx to verify application record credentials against credential manifest
  10. DCX Issuer creates response record in Applicant DWN
  11. DCX Applicant reads response record via Applicant DWN subscription
  12. DCX Issuer creates invoice record in Applicant DWN
  13. DCX Applicant reads invoice record via Applicant DWN subscription

dcx-full-sequence

  1. Credential-issuer and credential-applicant protocols defines DWN record CRUD actions between Issuer and Applicant
  2. under the credential-issuer manifest route
  3. Subscription to receive incoming application records
  4. Subscription to receive incoming response records
  5. Defines required "credentials in" to receive desired "credentials out"
  6. Credentials are acquired separately, outside of DCX protocol, from listed trusted issuers
  7. Application record includes credentials that satisfy credential manifest mentioned in step 5
  8. DCX Issuer validates credentials against credential manifest using DCX software handlers

Issuer Protocol

  1. DCX Issuer configures Issuer DWN with dcx protocol (issuer & applicant)
  2. DCX Issuer creates credential manifest record in Issuer DWN
  3. DCX Issuer creates subscription to Issuer DWN
  4. DCX Issuer reads application record via Issuer DWN subscription
  5. DCX Issuer uses DCX software handlers to verify credentials against credential manifest
  6. DCX Issuer configures DWN with DCX Issuer protocol
  7. DCX Issuer creates DWN manifest record in own DWN to define required credentials to obtain other credentials
  8. DCX Issuer subscribes to own DWN to listen for application records
  9. DCX Issuer reads an incoming application record and validates against respective credential manifest
  10. DCX Issuer creates application response or denial record and sends to applicant DWN
  11. DCX Issuer creates invoice response record and sends to applicant DWN

dcx-issuer-sequence

Applicant Protocol

  1. DCX Applicant configures Applicant DWN with dcx protocol (issuer & applicant)
  2. DCX Applicant creates subscription to Applicant DWN
  3. DCX Applicant reads credential manifest record from Issuer DWN
  4. DCX Applicant acquires required credentials from issuers listed in manifest
  5. DCX Applicant creates application record in Issuer DWN
  6. DCX Applicant reads response record via Applicant DWN subscription
  7. DCX Applicant reads invoice record via Applicant DWN subscription (optional)

dcx-applicant-sequence