Quick Start Demo
This tutorial is a quick demonstration of some of Privado ID's main functionalities. To illustrate how Privado ID works, we will walk you through some of its products and tools by following along a simple POAP use case. POAP stands for Proof of Attendance Protocol, which is used to prove that someone has taken part in a given event.
This guide will briefly touch on the 3 roles of the Triangle of Trust, namely the Identity Holder, the Issuer and the Verifier. For that, we will take the case of an individual who needs to prove that they were able to participate in a particular event.
These are the steps we will cover in this article:
- Set up a Privado ID wallet
- Issue a new credential to attest to the ID Holder's attendance to the event
- Fetch the newly created credential
- Verify the ID holder credential
Set up a Privado ID wallet
To store verifiable credentials, the Identity Holder (the individual receiving the credential) needs a compatible wallet. Here, we’ll use the Privado ID Wallet, which supports both mobile and web-based access.
You can also use any Privado ID compatible wallet. Please, check our Ecosystem page for other options.
To get started with the Privado ID Wallet, you can either visit the Privado ID Web Wallet in your browser or download the mobile app and create an Identity.
- Web Browser: Privado ID Web Wallet
- For Android: Privado ID Wallet App on Google Play
- For iOS: Privado ID Wallet App on the App Store
- The Privado ID Web Wallet is a web based identity wallet. It is a reference implementation built using our JS SDK. Learn more about the Web Wallet here.
- Privado ID Wallet App is an implementation of the Wallet SDK, as a way of showcasing its possibilities. Learn more about the Wallet App here.
Issue a new credential to attest to the ID Holder's event attendance
A trusted entity, for instance, a private institution will now play the role of an issuer. It will be responsible for creating the credential and sending it to the ID Holder.
We are using the Issuer Node UI Demo environment to manage credentials. This is the place where you as an issuer can can create and manage identities and credentials, generate connections and manage schemas.
However, if you are using a new credential type, you actually need to create a schema for that credential, which basically is the set of JSON files that gather all the attributes of that specific credential.
To facilitate this issuance process, we have already created the credential schema with schema type POAP01 whose URLs are the following:
- JSON schema URL
ipfs://QmTSwnuCB9grYMB2z5EKXDagfChurK5MiMCS6efrRbsyVX
- JSON-LD Context
ipfs://QmdH1Vu79p2NcZLFbHxzJnLuUHJiMZnBeT7SNpLaqK7k9X
To learn how to set up your own issuer environment by deploying an issuer node, visit the Issuer section in the documentation.
The schema used in this demo was built using the Privado ID Schema Builder and is available on the Privado ID Schema Explorer. Learn more about creating new schemas on the Schema Builder UI guide.
Issue a new credential to attest to the ID Holder's attendance to the event
With the new schema in hand, the issuer should now be able to generate a credential.
First, go to the the Issuer Node UI testing environment.
dangerThis Issuer Node is publicly available and used only for testing purposes. Do not use personal or sensitive data. All data is deleted every 48 hours.
Now you need to import the schema. Click on Import Schema and paste our previously generated schema IPFS address
ipfs://QmTSwnuCB9grYMB2z5EKXDagfChurK5MiMCS6efrRbsyVX
:You may preview the schema and then Import it.
You can go ahead and click on Issue Credential in the top righ-hand corner. Choose Credential Link on the next page and your schema on the dropdown menu ("POAP01", in our case). For this credential, we are providing a proof of attendance to an event in Paris:
After you click on Create Credential Link, you'll be presented with a Universal Link and a Deep Link to the credential offer, along with a QR code configured for these links. The QR code can be scanned directly with the Privado ID Wallet app.
infoWhen the user interacts with the Universal Link , it will launch the Privado ID Web Wallet in the browser or Privado ID Wallet app in case of a mobile phone displaying the credential offer to claim the credential. Deep link could be handled only by mobile wallet app though.
Fetch the newly created credential
Now we are back to the ID Holder role. You can either use the Web Wallet on the browser or the Wallet App to accept the credential via the link or the QR code generated by the issuer in the last step.
To sync the identity and its associated credentials between the Privado ID Web Wallet and the Privado ID Wallet App, the user must log in with the same crypto wallet account on both platforms. Once you claim a credential on one platform, it will be visible on the other.
Web Wallet
After clicking the Universal link, it will take you to the Web Wallet. Click Sign In and connect your crypto wallet such as Metamask. Click Add to my wallet. This should add the credential to your wallet.
Click on Manage your credentials to view and manage the credential in the Web Wallet.
Mobile Wallet App
Alternatively, Scan the QR code from the Wallet App. Click Sign In. This should authenticate and add the credential to the Wallet.
Verify the ID holder credential
Here comes the third role in this tutorial: the verifier. This could be represented by an organization that needs to verify some details of someone's credentials. In our use case, this organization wants to verify whether the ID holder actually attended our made-up Paris event.
Here are the steps to verify the credential:
- Visit the Query builder website. The Query Builder is a tool designed to simplify the creation of verification queries.
- You now need to define the query. You will now make use of the JSON-LD URL which we have also provided:
ipfs://QmdH1Vu79p2NcZLFbHxzJnLuUHJiMZnBeT7SNpLaqK7k9X
. Here is how the query should look like:
- Click Create Query. Now click Test query button which will take you the Privado ID Web Wallet
- Click Sign in and connect your crypto wallet. As you have already claimed the credential, it shows as 'claimed'. Click Verify, after which the process of generating the proof starts.
- Finally, the proof is generated and sent to the verifier. The verifier will then check the revocation status and any additional information to validate the proof. You will receive the following response on the Query Builder website:
Alternatively, you can also use Privado ID Wallet app to verify. After Step 3, once you are redirected to Web Wallet, click on Continue via app, this should present a QR code. Open the Privado ID Wallet App and scan the QR code. Click on Verify
This quick-start guide demonstrates Privado ID’s basic functionalities through a POAP use case, covering wallet setup, credential issuance, retrieval, and verification. While this is a simplified example, Privado ID provides a comprehensive suite of SSI tools for managing decentralized identity and verifiable credentials.