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
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
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
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)