You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/quick-start-demo.md
+98-58
Original file line number
Diff line number
Diff line change
@@ -15,98 +15,132 @@ keywords:
15
15
---
16
16
17
17
import useBaseUrl from '@docusaurus/useBaseUrl';
18
+
import Tabs from '@theme/Tabs';
19
+
import TabItem from '@theme/TabItem';
18
20
19
-
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.
20
-
POAP stands for Proof of Attendance Protocol, which is used to prove that someone has taken part in a given event.
21
+
This tutorial illustrates Privado ID's main functionalities. It walks through Privado ID's products and tools by presenting 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.
21
22
22
-
This guide will briefly touch on the 3 roles of the [Triangle of Trust](introduction.md#core-concepts-of-privado-id-verifiable-credentials-identity-holder-issuer-and-verifier), 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.
23
-
24
-
These are the steps we will cover in this article:
23
+
In this tutorial, you will assume each of the 3 roles required by the [Triangle of Trust](introduction.md#core-concepts-of-privado-id-verifiable-credentials-identity-holder-issuer-and-verifier): the Identity Holder, the Issuer, and the Verifier. You will:
25
24
26
25
1.[Set up a Privado ID wallet](#set-up-a-privado-id-wallet)
27
-
2.[Issue a new credential to attest to the ID Holder's attendance to the event](#issue-a-new-credential-to-attest-to-the-id-holders-event-attendance)
26
+
2.[Issue the POAP credential](#issue-the-poap-credential)
28
27
3.[Fetch the newly created credential](#fetch-the-newly-created-credential)
29
28
4.[Verify the ID holder credential](#verify-the-id-holder-credential)
30
29
31
30
## Set up a Privado ID wallet
32
31
33
-
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.
32
+
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.
33
+
34
34
:::note
35
35
36
-
You can also use any Privado ID compatible wallet. Please, check our [<ins>Ecosystem page</ins>](https://marketplace.privado.id/ecosystem)for other options.
36
+
You may use any Privado ID compatible wallet. Our [<ins>Ecosystem page</ins>](https://marketplace.privado.id/ecosystem)lists all supported wallets.
37
37
38
38
:::
39
39
40
-
To get started with the Privado ID Wallet, you can either visit the [Privado ID Web Wallet](https://wallet.privado.id/) in your browser or download the mobile app and create an Identity.
40
+
To get started with the Privado ID Wallet, either visit the [Privado ID Web Wallet](https://wallet.privado.id/) in your browser or download the Mobile App and create an Identity.
41
41
42
-
- Web Browser: <ahref="https://wallet.privado.id/"target="_blank">Privado ID Web Wallet</a>
43
-
- For Android: <ahref="https://play.google.com/store/apps/details?id=id.privado.wallet"target="_blank">Privado ID Wallet App on Google Play</a>
44
-
- For iOS: <ahref="https://apps.apple.com/us/app/privadoid/id6566184703"target="_blank">Privado ID Wallet App on the App Store</a>
45
42
43
+
<Tabs>
44
+
<TabItemvalue="Web Wallet">
45
+
46
+
<ahref="https://wallet.privado.id/"target="_blank">Privado ID Web Wallet</a>
46
47
47
48
:::note
48
-
- The Privado ID Web Wallet is a web based identity wallet. It is a reference implementation built using our [<ins>JS SDK</ins>](/docs/js-sdk/js-sdk-overview.md). Learn more about the Web Wallet [<ins>here</ins>](/docs/wallet/web-wallet.md).
49
-
- Privado ID Wallet App is an implementation of the [<ins>Wallet SDK</ins>](/docs/category/wallet-sdk), as a way of showcasing its possibilities. Learn more about the Wallet App [<ins>here</ins>](/docs/wallet/wallet-app/privadoid-app.md).
49
+
The Privado ID Web Wallet is a Web-based identity wallet. It is a reference implementation built using our [<ins>JS SDK</ins>](/docs/js-sdk/js-sdk-overview.md). [<ins>Learn more about the Web Wallet</ins>](/docs/wallet/web-wallet.md).
50
50
:::
51
51
52
-
## Issue a new credential to attest to the ID Holder's event attendance
52
+
</TabItem>
53
+
54
+
<TabItemvalue="Mobile Wallet">
55
+
56
+
- Android: <ahref="https://play.google.com/store/apps/details?id=id.privado.wallet"target="_blank">Privado ID Wallet App on Google Play</a>
57
+
- iOS: <ahref="https://apps.apple.com/us/app/privadoid/id6566184703"target="_blank">Privado ID Wallet App on the App Store</a>
58
+
59
+
:::note
60
+
Privado ID Wallet App is an implementation of the [<ins>Wallet SDK</ins>](/docs/category/wallet-sdk), as a way of showcasing its possibilities. [<ins>Learn more about the Molbile Wallet</ins>](/docs/wallet/wallet-app/privadoid-app.md).
61
+
:::
53
62
54
-
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.
63
+
</TabItem>
64
+
</Tabs>
55
65
56
-
We are using <ahref="https://issuer-demo.privado.id/">the Issuer Node UI Demo environment</a> 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.
57
66
58
-
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.
67
+
## Issue the POAP credential
59
68
60
-
To facilitate this issuance process, we have already created the credential schema with schema type POAP01 whose URLs are the following:
69
+
You will now take the role of an Issuer, in this example, the private institution/trusted entity that held the event and creates a POAP. The Issuer is responsible for both creating the credential and sending it to the Identity Holder.
We will use <ahref="https://issuer-demo.privado.id/">the Issuer Node UI Demo environment</a> to manage credentials. This environment enables an Issuer to create and manage identities and credentials, generate connections, and manage schemas.
66
72
67
73
:::note
68
74
69
-
To learn how to set up your own issuer environment by deploying an issuer node, visit the [<ins>Issuer section in the documentation</ins>](./issuer/issuer-overview.md).
75
+
When an Issuer releases a new credential type, they create a schema representation of the credential. This comprises a set of JSON files that gather all the credential's attributes.
76
+
77
+
[<ins>Learn how to set up your own Issuer environment by deploying an Issuer node</ins>](/docs/issuer/issuer-overview.md).
70
78
71
79
:::
72
80
81
+
To simplify this demo issuance, we provide an existing credential schema with schema type POAP01:
> View this credential's data using an <ahref="https://ipfs.io/ipfs/QmdH1Vu79p2NcZLFbHxzJnLuUHJiMZnBeT7SNpLaqK7k9X"target="_blank">online gateway</a>.
98
+
99
+
100
+
</TabItem>
101
+
</Tabs>
102
+
73
103
:::info
74
104
75
-
The schema used in this demo was built using the Privado ID Schema Builder and is available on [<ins>the Privado ID Schema Explorer</ins>](https://tools.privado.id/schemas/1fa99457-b2ae-4884-ae12-d658bd6abf69). Learn more about creating new schemas on[<ins>the Schema Builder UI guide</ins>](/docs/issuer/schema-builder/).
105
+
The schema used in this demo was built using the Privado ID Schema Builder and is available on [<ins>the Privado ID Schema Explorer</ins>](https://tools.privado.id/schemas/1fa99457-b2ae-4884-ae12-d658bd6abf69). Learn more about creating new schemas from[<ins>the Schema Builder UI guide</ins>](/docs/issuer/schema-builder/).
76
106
77
107
:::
78
108
79
-
### Issue a new credential to attest to the ID Holder's attendance to the event
109
+
### Generate the credential
80
110
81
-
With the new schema in hand, the issuer should now be able to generate a credential.
111
+
With the new schema in hand, the Issuer can generate a credential.
82
112
83
-
1.First, go to the <ahref="https://issuer-demo.privado.id/">the Issuer Node UI testing environment</a>.
113
+
1.Navigate to <ahref="https://issuer-demo.privado.id/">the Issuer Node UI testing environment</a>.
84
114
85
115
:::warning
86
116
87
-
This 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.
117
+
Only use this publicly available Issuer Node for testing purposes. Do not submit personal or sensitive data. All data is deleted every 48 hours.
88
118
89
119
:::
90
120
91
-
2.Now you need to import the schema. Click on **Import Schema** and paste our previously generated schema IPFS address `ipfs://QmTSwnuCB9grYMB2z5EKXDagfChurK5MiMCS6efrRbsyVX`:
3. 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:
129
+
2.2 Preview the schema and then Import it.
130
+
131
+
3. Next, click on **Issue Credential** in the top right-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 at an event in Paris:
4.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.
137
+
4.Click on **Create Credential Link** to be presented with links and a QR code configured for these links to claim the credential. The QR code can be scanned directly with supporting mobile apps, e.g. the Privado Mobile Wallet app.
106
138
107
139
:::info
108
140
109
-
When the user interacts with the [<ins>Universal Link</ins>](/docs/wallet/universal-links.md) , 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.
141
+
Two link types are created to provide access to the credential:
142
+
- Mobile Wallet apps such as the Privado ID Mobile App and other supported mobile wallets support Deep Link
143
+
- The Privado ID Web Wallet and other Mobile Wallet apps [<ins> support the Universal Link</ins>](/docs/wallet/universal-links.md)
110
144
111
145
:::
112
146
@@ -116,82 +150,88 @@ With the new schema in hand, the issuer should now be able to generate a credent
116
150
117
151
## Fetch the newly created credential
118
152
119
-
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.
153
+
Next, you will take the second role in this tutorial: the ID Holder. You can either use the Web Wallet in the browser or the Mobile Wallet to accept the credential via the link or the QR code generated by the Issuer in the previous step.
120
154
121
155
:::note
122
-
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.
156
+
157
+
To sync the identity and its associated credentials between the Privado ID Web Wallet and the Privado ID Mobile Wallet, the user must log in with the same crypto wallet account on both platforms. Once you claim a credential on one platform, it will then be visible on the other.
158
+
123
159
:::
124
160
125
-
#### Web Wallet
161
+
To fetch the credential:
162
+
163
+
<Tabs>
164
+
<TabItemvalue="Web Wallet">
126
165
127
-
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.
166
+
1. Click the Universal link, which 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.
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.
193
+
Next, you will take the third role in this tutorial: the Verifier. This might be an organization that needs to verify some details of a person's credentials. In our use case, this organization wants to verify whether the Identity Holder actually attended our made-up Paris event.
152
194
153
-
Here are the steps to verify the credential:
195
+
To verify the credential:
154
196
155
-
1. Visit the [Query builder website](https://tools.privado.id/query-builder/). The [Query Builder](/docs/verifier/query-builder/) is a tool designed to simplify the creation of verification queries.
197
+
1. Visit the [Query Builder website](https://tools.privado.id/query-builder/). The [Query Builder](/docs/verifier/query-builder/) is a tool designed to simplify the creation of verification queries.
2.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:
203
+
2.Define the query. We will use the existing JSON-LD URL: `ipfs://QmdH1Vu79p2NcZLFbHxzJnLuUHJiMZnBeT7SNpLaqK7k9X`. The query should look like this:
4. 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.
215
+
4. Click **Sign in** and connect your crypto wallet. As you have already claimed the credential, it shows as 'claimed'. Click **Verify**, to initiate the process of generating the proof.
5. 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:
221
+
5. 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:
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.
196
-
236
+
This quick-start guide demonstrates Privado ID’s basic functionalities through a POAP use case, covering wallet setup, credential issuance, retrieval, and verification. This example requires the user to participate in all three roles to demonstrate Privado ID's comprehensive suite of Self-Sovereign Identity (SSI) tools for managing decentralized identity and verifiable credentials. In real-world uses cases, a single entity would typically fit just one of these roles.
0 commit comments