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
-[Learning about the Alice/Faber code](#learning-about-the-alicefaber-code)
30
30
-[OpenAPI (Swagger) Demo](#openapi-swagger-demo)
@@ -169,7 +169,7 @@ With both the Alice and Faber agents started, go to the Faber terminal window. T
169
169
170
170
Faber:
171
171
172
-
```
172
+
```text
173
173
(1) Issue Credential
174
174
(1a) Set Credential Type (indy)
175
175
(2) Send Proof Request
@@ -181,7 +181,7 @@ Faber:
181
181
182
182
Alice:
183
183
184
-
```
184
+
```text
185
185
(3) Send Message
186
186
(4) Input New Invitation
187
187
(X) Exit?
@@ -205,7 +205,7 @@ You can enable support for various ACA-Py features by providing additional comma
205
205
206
206
Note that when the controller starts up the agent, it prints out the ACA-Py startup command with *all* parameters - you can inspect this command to see what parameters are provided in each case. For more details on the parameters, just start ACA-Py with the `--help` parameter, for example:
207
207
208
-
```
208
+
```bash
209
209
./scripts/run_docker start --help
210
210
```
211
211
@@ -223,7 +223,7 @@ You need to run an AnonCreds revocation registry tails server in order to suppor
223
223
224
224
Faber will setup support for revocation automatically, and you will see an extra option in faber's menu to revoke a credential:
225
225
226
-
```
226
+
```text
227
227
(1) Issue Credential
228
228
(1a) Set Credential Type (indy)
229
229
(2) Send Proof Request
@@ -235,18 +235,18 @@ Faber will setup support for revocation automatically, and you will see an extra
235
235
(8) List Revocation Registries
236
236
(T) Toggle tracing on credential/proof exchange
237
237
(X) Exit?
238
-
```
238
+
```
239
239
240
240
When you issue a credential, make a note of the `Revocation registry ID` and `Credential revocation ID`:
When you revoke a credential you will need to provide those values:
248
248
249
-
```
249
+
```text
250
250
[1/2/3/4/5/6/7/8/T/X] 5
251
251
252
252
Enter revocation registry ID: WGmUNAdH2ZfeGvacFoMVVP:4:WGmUNAdH2ZfeGvacFoMVVP:3:CL:38:Faber.Agent.degree_schema:CL_ACCUM:15ca49ed-1250-4608-9e8f-c0d52d7260c3
@@ -282,7 +282,7 @@ This is described in [Endorser.md](Endorser.md)
282
282
283
283
To enable mediation, run the `alice` or `faber` demo with the `--mediation` option:
284
284
285
-
```bash
285
+
```bash
286
286
./run_demo faber --mediation
287
287
```
288
288
@@ -292,7 +292,7 @@ This will start up a "mediator" agent with Alice or Faber and automatically set
292
292
293
293
To enable multiple ledger mode, run the `alice` or `faber` demo with the `--multi-ledger` option:
294
294
295
-
```bash
295
+
```bash
296
296
./run_demo faber --multi-ledger
297
297
```
298
298
@@ -302,7 +302,7 @@ The configuration file for setting up multiple ledgers (for the demo) can be fou
302
302
303
303
To enable support for multi-tenancy, run the `alice` or `faber` demo with the `--multitenant` option:
304
304
305
-
```bash
305
+
```bash
306
306
./run_demo faber --multitenant
307
307
```
308
308
@@ -312,7 +312,7 @@ You will see an additional menu option to create new sub-wallets (or they can be
312
312
313
313
Faber:
314
314
315
-
```
315
+
```text
316
316
(1) Issue Credential
317
317
(1a) Set Credential Type (indy)
318
318
(2) Send Proof Request
@@ -325,7 +325,7 @@ Faber:
325
325
326
326
Alice:
327
327
328
-
```
328
+
```text
329
329
(3) Send Message
330
330
(4) Input New Invitation
331
331
(W) Create and/or Enable Wallet
@@ -334,7 +334,7 @@ Alice:
334
334
335
335
When you create a new wallet, you just need to provide the wallet name. (If you provide the name of an existing wallet then the controller will "activate" that wallet and make it the current wallet.)
336
336
337
-
```
337
+
```text
338
338
[1/2/3/4/W/T/X] w
339
339
340
340
Enter wallet name: new_wallet_12
@@ -353,15 +353,15 @@ Once you have created a new wallet, you must establish a connection between `ali
353
353
354
354
In faber, create a new invitation:
355
355
356
-
```
356
+
```text
357
357
[1/2/3/4/W/T/X] 4
358
358
359
359
(... creates a new invitation ...)
360
360
```
361
361
362
362
In alice, accept the invitation:
363
363
364
-
```
364
+
```text
365
365
[1/2/3/4/W/T/X] 4
366
366
367
367
(... enter the new invitation string ...)
@@ -383,15 +383,15 @@ Note that with multi-tenancy enabled:
383
383
384
384
Documentation on ACA-Py's multi-tenancy support can be found [here](https://github.com/openwallet-foundation/acapy/blob/main/docs/features/Multitenancy.md).
385
385
386
-
### Multi-tenancy *with Mediation*!!!
386
+
### Multi-tenancy *with Mediation*
387
387
388
388
There are two options for configuring mediation with multi-tenancy, documented [here](https://github.com/openwallet-foundation/acapy/blob/main/docs/features/Multitenancy.md#mediation).
389
389
390
390
This demo implements option #2 - each sub-wallet is configured with a separate connection to the mediator.
391
391
392
392
Run the demo (Alice or Faber) specifying *both* options:
393
393
394
-
```bash
394
+
```bash
395
395
./run_demo faber --multitenant --mediation
396
396
```
397
397
@@ -403,27 +403,29 @@ The agents run on a pre-defined set of ports, however occasionally your local sy
403
403
404
404
To override the default port settings:
405
405
406
-
```bash
406
+
```bash
407
407
AGENT_PORT_OVERRIDE=8010 ./run_demo faber
408
408
```
409
409
410
410
(The agent requires up to 10 available ports.)
411
411
412
412
To pass extra arguments to the agent (for example):
Additionally, separating the build and run functionalities in the script allows for smoother development and debugging processes. With the mounting of volumes from the host into the Docker container, code changes can be automatically reloaded without the need to repeatedly build the demo.
419
419
420
420
Build Command:
421
-
```bash
421
+
422
+
```bash
422
423
./demo/run_demo build alice --wallet-type askar-anoncreds --events
423
424
```
424
425
425
426
Run Command:
426
-
```bash
427
+
428
+
```bash
427
429
./demo/run_demo run alice --wallet-type askar-anoncreds --events
428
430
```
429
431
@@ -443,16 +445,16 @@ Another example in the `demo/runners` folder is [performance.py](https://github.
443
445
444
446
To run the demo, make sure that you shut down any running Alice/Faber agents. Then, follow the same steps to start the Alice/Faber demo, but:
445
447
446
-
* When starting the first agent, replace the agent name (e.g. `faber`) with `performance`.
447
-
* Don't start the second agent (`alice`) at all.
448
+
- When starting the first agent, replace the agent name (e.g. `faber`) with `performance`.
449
+
- Don't start the second agent (`alice`) at all.
448
450
449
451
The script starts both agents, runs the performance test, spits out performance results and shuts down the agents. Note that this is just one demonstration of how performance metrics tracking can be done with ACA-Py.
450
452
451
453
A second version of the performance test can be run by adding the parameter `--routing` to the invocation above. The parameter triggers the example to run with Alice using a routing agent such that all messages pass through the routing agent between Alice and Faber. This is a good, simple example of how routing can be implemented with DIDComm agents.
452
454
453
455
You can also run the demo against a postgres database using the following:
Now that you have a solid foundation in using ACA-Py, time for a coding challenge. In this challenge, we extend the Alice-Faber command line demo by adding in ACME Corp, a place where Alice wants to work. The demo adds:
478
480
479
-
* ACME inviting Alice to connect
480
-
* ACME requesting a proof of her College degree
481
-
* ACME issuing Alice a credential after she is hired.
481
+
- ACME inviting Alice to connect
482
+
- ACME requesting a proof of her College degree
483
+
- ACME issuing Alice a credential after she is hired.
482
484
483
485
The framework for the code is in the [acme.py](https://github.com/openwallet-foundation/acapy/tree/main/demo/runners/acme.py) file, but the code is incomplete. Using the knowledge you gained from running demo and viewing the alice.py and faber.py code, fill in the blanks for the code. When you are ready to test your work:
484
486
485
-
* Use the instructions above to start the Alice/Faber demo (above).
486
-
* Start another terminal session and run the same commands as for "Alice", but replace "alice" with "acme".
487
+
- Use the instructions above to start the Alice/Faber demo (above).
488
+
- Start another terminal session and run the same commands as for "Alice", but replace "alice" with "acme".
487
489
488
490
All done? Checkout how we added the missing code segments [here](AcmeDemoWorkshop.md).
0 commit comments