Hyperledger Fabric course is out!

IntroducingHow I built certifyme.id in 4 days using AI

So, a week ago I decided it was time to build a service with the knowledge I gained on SSI, Blockchain and AI technologies.

Problem

I came with a problem I’m having for the Hyperledger Fabric course I launched 2 months ago.

How can we be certain that a certification issued to a student is legit?

I’ve seen many people on Linkedin publishing certifications issued by Microsoft, Atlassian, etc. but the verification is centralized, such as this one:

Coursera

You can verify the certificate here: https://www.coursera.org/account/accomplishments/verify/G7A3P5VJKXFD

So, the certificate verification is centralized on Coursera, and, if Coursera disappeared tomorrow (very unlikely though), then the students wouldn’t be able to present the certificates.

When we are talking about the short term, this is a non-issue, but in the long term, think about the academies that used to be in the 90s and the ones that are now; many have disappeared, and getting a certificate from them is now impossible.

Solution

So I came up with a simple idea to build a certification platform for students; narrowing the scope was really important since building a generic platform for Verifiable credentials would be very hard (although possible), and I don’t think I’d meet the deadlines.

I had the following technical questions:

  • Where will the Verifiable credentials be stored?
  • Where are the private keys of the issuer?
  • What’s the most secure flow for the issuance and verification?

So I came up with the following with the following architecture:

Lucidchart

Masca is a snap for Metamask. A snap is an application inside Metamask that can use your private keys and abstract complex operations, such as:

  • Creating DIDs
  • Creating VCs
  • Creating VPs

So, it was the right solution for now, though there are performance problems, such as the snap not replying in time and being inconsistent. However, there are no other options that are as easy to use as Metamask.

Generating code

I also automated most of the boring code that is not related to the main problem.

That’s when I discovered the following repository:

GitHub - gptscript-ai/gptscript: Natural Language Programming

The idea is that you write prompts in your file system and then execute it like this:

gptscript ./prompts/generate_dbmodel.gpt "Generate a table to store verifiable \
  presentations, the table must contain, the student, \
  credential schema and the credential offer"

You can see te content of this script in this GitHub gist to get an idea of how it works.

It generates the code in the terminal; then, you can paste it into the file you are working on and make the needed changes. I wrote a script for:

This saved me a lot of time, the fact that I was generating code without having to switch to ChatGPT/Claude was a big productivity hack

Next steps

There is a lot more functionality. First, I want to see if there’s interest in what I built, and then, if there is interest, I will continuously improve the product.

These are the features that could be interesting to add:

Integration with Mobile wallets (such as Sphereon Wallet, Paradym.id)

Generate a diploma-like image with a QR to verify the Verifiable Presentation on the device

Store the issuer data and credential schema in the Blockchain

If you liked this content and you want more, there are 2 ways I can help you:

  • Hyperledger Fabric Course: Hyperledger Fabric explained how to level up your skills and be in the top 1% of blockchain engineers.
  • Work with me : We build your blockchain project and help you from start to end with simple pricing.