aries-cloudagent-python icon indicating copy to clipboard operation
aries-cloudagent-python copied to clipboard

Create a VDR-agnostic AnonCreds Object resolver

Open swcurran opened this issue 3 years ago • 0 comments

The existing AnonCreds handlers in ACA-Py handle AnonCreds objects that are rooted in Indy. We would like to make the AnonCreds implementation in ACA-Py VDR agnostic -- at least as much as possible. In the ACA-Pug Meeting on 2022.07.26 we talked about the need to abstract this as outlined in the following.

Resolver:

Provide an AnonCreds object resolver that given an ID for an AnonCreds object returns the object regardless of the VDR on which it resides. The resolver should be pluggable and should handle at least:

  • Existing AnonCred IDs, as implemented in the Indy SDK.
  • did:indy AnonCreds objects, as specified in the did:indy specification
  • Nice to have: Another VDR such did:web or did:cheqd

Writer:

Provide an AnonCreds object writer that given an AnonCreds object writes it to a given VDR. Again, this should be pluggable, as although any given instance of ACA-Py will likely only write objects to one VDR, different instances will be writing to different VDRs.

  • Initially support VDRs should include the same ones as above.
  • Special handling for a given VDR should be supported, but ideally hidden. An example would be the Indy Endorser handling.

AFJ is working on a concept called "AnonCredsResourceService" that we should monitor. Nothing in writing on that yet, but we'll update this issue as more information is available.

swcurran avatar Jul 26 '22 17:07 swcurran