universal-resolver icon indicating copy to clipboard operation
universal-resolver copied to clipboard

Support for resolving other types of Ledger Objects

Open vpapanchev opened this issue 2 years ago • 3 comments

Hello,

Some DID Methods, e.g., Indy DID Method, store other types of objects on their ledgers, such as Credentials Schema and Revocation Registry definitions. Currently the Universal Resolver does not support such objects. For example, executing the following command returns an error message "Cannot parse DID". curl -X GET http://0.0.0.0:8080/1.0/identifiers/did:indy:sovrin:F72i3Y3Q4i466efjYJYCHM/anoncreds/v1/SCHEMA/npdb/4.3.4

Have you planned to add support for resolving other types of ledger objects? If not, is there another DIF project or working group working on this problem?

Cheers, Vasil Papanchev

vpapanchev avatar Feb 21 '22 14:02 vpapanchev

The plan is to add this for at least "did:indy", but the working is currently active on enabling that. You can follow the work here: https://wiki.hyperledger.org/display/indy/Indy+DID+Method+Specification

swcurran avatar Feb 21 '22 14:02 swcurran

@swcurran

Do you plan to use dereferencing instead of resolving to achieve this? See https://www.w3.org/TR/did-core/#did-url-dereferencing

Will it be dedicated endpoint?

vimmerru avatar May 24 '22 09:05 vimmerru

Sorry for the delay in responding -- I've been out of the office.

Our plan for did-indy is to use dereferencing DIDURLs using a path and a DID Method specific dereferencing process. This is outlined here: https://hyperledger.github.io/indy-did-method/#did-urls-for-indy-object-identifiers

We talked about each of the various AnonCred objects having a specific DID, and the object itself being embedded in a DIDDoc. With that, you could just resolve the DID and extract the object from the DIDDoc (or dereference the DID to get the fragment from the DIDDoc that is the object). The nice part of that would be that the approach could be used on different ledgers/DID Methods -- each object is just embedded in a DIDDoc. However, we've were not able to find anyone using that pattern and we're aware that some VDRs/DID Methods (such as sidetree) prevent extensions in the DIDDocs.

I'd love to know if it is possible or considered a good idea to embed such objects in a DIDDoc.

swcurran avatar Jun 13 '22 21:06 swcurran