Thank you very much for releasing such an interesting product as open source.
I have tried out cert‑issuer v3.
From the perspective of putting this product into practical use, I have two questions about how to integrate it with a wallet, so I’ve opened this ticket:
Protocol for delivering issued credentials to the Recipient
Do you currently have any recommendations or assumptions about how to hand off the issued credential to the recipient?
I’m considering combining it with a protocol such as OpenID’s Verifiable Credential Issuance or DIF’s WACI; if you have any thoughts or guidance on that, or are aware of any existing attempts, I would greatly appreciate it.
At this moment, and for the foreseeable future, Blockcerts does not enforce nor recommend a specific delivery channel, so it would be up to the implementer to chose whichever solution fits their system the best. Any channel which is made for delivering VCs is fit I believe, but some implementers use things as simple as emails too.
I wasn’t part of the inception of the project and the choice of an HD wallet so my knowledge is not thorough.
A pre-existing wallet is not a condition to be a recipient of a blockcerts. Technically we only expect a public key from the recipient, and it can be a blockchain address or a did for instance. No transaction is ever made directly towards the recipient, the public key is an identifier of the recipient.
The transaction in itself is from the issuer to the issuer, and is just a way to imprint onto the blockchain the data from the issuance (merkle root).
Blockcerts wallet is made so it can hold the Blockcerts credentials, and Blockcerts v3 offers a lot of flexibility to be “just” a Verifiable Credentials anchored on the Blockchain (Blockcerts also allows off chain signatures: EcdsaSecp256k1Signature2019, Eddsa25519Signature2020, Ecdsa-sd-2023 are also supported, although we don’t provide signature libraries as they already exist open source from other vendors, only verification). The wallet is based of an HD wallet, and generates a seed phrase for the user as well as a public key under the form of a Bitcoin address (even if the issuance is made on the ETH or any other chain, again the address acts as the recipient’s identifier).