Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wallet interfaces and data model entities to describe requesting/receiving VCs or VPs #59

Open
kimdhamilton opened this issue Mar 11, 2021 · 5 comments

Comments

@kimdhamilton
Copy link
Collaborator

This one will be challenging to capture in a general way, but I'll try. Suppose I want to add function(s) representing VC/VP-related actions, such as:

  • Requesting an issuer issue a VC to me
  • Requesting a VP from some entity (I want proof of some of their attributes, etc)

There are a variety of draft specs, each with a handful of details (transport, etc) that ideally we'd abstract over.

I believe (please correct me) that Aries tends to handle such use cases by defining message types and then having a fairly generic send(message).

A very rough starting point might be (assuming we initially scope to VC/VP-related scenarios)

send_request(Message, Connection) => Promise(VP | VC)

Where Message could have different Types to express Presentation Exchange stuff, CHAPI stuff, etc.

Throw stones please.

@kimdhamilton kimdhamilton changed the title Wallet interfaces / entities to describe requesting/receiving VCs or VPs Wallet interfaces and data model entities to describe requesting/receiving VCs or VPs Mar 11, 2021
@OR13
Copy link
Collaborator

OR13 commented Mar 15, 2021

Related: w3c-ccg/vc-api#168

Also Presentation Exchange, CHAPI, etc...

@OR13
Copy link
Collaborator

OR13 commented Mar 15, 2021

I think generally this issue is about the "Credential Exchange" protocols... which tend to be fairly complicated, and vary widely... they can cover everything from:

  1. Identification
  2. Discovery
  3. Authentication
  4. Feature / Offer Advertisement
  5. Interactive Negotiation / Transports
  6. Query / Request / Response
  7. VC Data Models (VPs)

@OR13
Copy link
Collaborator

OR13 commented Mar 15, 2021

I would expect wallets to handle multiple protocols, and data models.

The purpose of the spec is not define protocols, but to describe data model that might be used by protocols.

And allow for protocols to be described in flows / abstract interfaces.

@mavarley
Copy link

I believe (please correct me) that Aries tends to handle such use cases by defining message types and then having a fairly generic send(message)

@kimdhamilton yes, Aries has the concept of message "attachments" which are supposed to act as layered functionality. There are many "RFCs" that Aries defines for the different attachments, and not all are compatible.

@OR13
Copy link
Collaborator

OR13 commented May 20, 2021

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants