Veramo and Verifiable Credentials

Michael Ruminer
2 min readDec 16, 2023

A few weeks ago I messed around with the Veramo project for #verifiablecredentials. It’s not ready for prime time nor is it professed to be, but it does get some things done. I focused on DIDs. I was entirely using the CLI as javascript is not a “native” language for me but I may decide to get into that space to mess with this project some. The deficiencies I ran into may be CLI specific and not present when using the APIs directly.

I did get a well-formed DID out of it that I published at:

did:web:manicprogrammer.github.io

Don’t send me a didcomm message via it despite it having a service for that defined as I don’t currently have a personal agent setup to communicate via that service. I know, why publish the service then? For fun. Maybe I’ll remove it.

One issue I hit with the CLI that was especially off-putting to me is that I found no way to get the private key via the CLI for the created DID, even with the did export function (perhaps I am wrong, but I didn’t see it and thus wonder what the value of the export is). If someone finds me wrong let me know. <EDIT>: since writing this I have prompted a question about it and confirmed what I found. See here.</EDIT> It uses by default a local KMS. This means I can only create and send credentials created by Veramo as I don’t have the private key for signing via another method. I suppose I can get to it via some javascript magic and I may try to do that or else I’ll likely create a different did with keys I have generated in other ways.

All in all. It was worthwhile to play with from the CLI. No doubt, the real value is in the Javascript APIs. What’s it good for? I don’t really know yet. It’s good for messing around and becoming more familiar with verifiable credential structure, verifiable presentation structure, DID structure etc.

#decentralizedidentity #verifiablecredentials

--

--

Michael Ruminer

Delving into verifiable credentials. did:web:manicprogrammer.github.io