Recently I made a post on Veramo and Verified Credentials where I discussed a little bit about Veramo and my findings in trying to use it. This post is about DIDKit from SpruceID. DIDKit is another set of packages for creating DIDs, verifiable credentials, verifiable presentations, etc. I only used the command line interface (CLI) tool in my experimentation with it and was entirely focused on DID creation. This is how it went.
Secondly, I found Create and Post Your Own did:web post to be easier to navigate than the directions on the SpruceID site. I did find somewhere in the DIDKit docs how to create a did:web from their did:key generation command but can’t find it again which only goes to show how difficult it is to find some information in their documentation. (Since initially writing this I looked harder and did find it at “did-web in minutes”)Although SpruceID says it supports did:web it seems that it can resolve did:web but it doesn’t create a did:web fully. You must create a did:key and make some edits on it to make it into a did:web. The edits are minor, but I consider this a weird limitation. I read somewhere along the way that it only supports the ED25519 curve in creating did:key/did:web, but I am not sure if that limitation referred only to creation or resolving as well.
Once I created a JSON Web Key (JWK) using one of their key generation functions, built the did:key from the key, edited it to be a did:web, and published it to manicprogrammer.github.io/.well-known/did.json it resolved fine with their “didkit did-resolve” command.
What else did I find in my experience with DIDKit? In the documentation, I couldn’t find what the below ‘key” parameter did. But, following the directions to create a did:key the below command worked:
didkit key-to-did key -k issuer_key.jwk
I also found that on its Github it doesn’t have a discussion section.