business-partner-agent
business-partner-agent copied to clipboard
BPA interactions with non-BPA
Just wanted to start a discussion and and an area to put in any findings we have using the BPA with non-BPA agents.
I have walked through using BPA with Trinsic Wallet - phone app and esatus wallet - phone app.
I have walked though using Trinsic Studio (in place of BPA), Trinsic Wallet and esatus wallet for comparison.
I have also used the BPA connected with Trinsic Studio to see their interactions.
Trinsic is Aries (based on Aries Framework .NET), but not aca-py. They do have their own API but I just used the interfaces to do the interactions. (I did have to add in new code to BPA to accept/receive invitations - see PR 585)
A few notes around set up of Trinsic Studio (https://trinsic.studio/) to act like a BPA.
I upgraded to a Developer Account (allowed me to change to Canada Region). Not sure if the region mattered, but upgrading allowed me to change region (really more useful to up the count of credential exchanges allowed per month).
I deleted both esatus and trinisic wallets from my phone, then reinstalled new empty ones. Connected both phone wallets to BCovrin Test Ledger (esatus is BCGov Test Ledger).
Turned off Wifi on my phone.
Will add more tomorrow...
This is BPA and Trinsic Studio. Was having issues creating schema/cred defs (I had previously done it, so put a question out to Trinsic support). Wallet is only API accessible, so studio is ok (out of box) for issue and verify, not holder. Marked stuff that is API with "?" as Studio doesn't have the function directly, but some things can be achieved using the API.
| Category | Task | Role | Supported (Y/N) | Success (Y/N) | Notes |
|---|---|---|---|---|---|
| Connection | By DID | Inviter | Y | N | Exposes Issuer DID, copied and pasted into BPA (added did:sov:), did nor resolve |
| By Invitation | Inviter | Y | Y | Actually a deeplink QR Code/Url | |
| By Out of Band Invitation | Inviter | N | N | ||
| By DID | Invitee | N | N | ||
| By Invitation | Invitee | ? | ? | We need to use TS API to create a wallet, and we can connect using TS API by passing in the encoded invitation block. See post connection errors in Notes | |
| By Out of Band Invitation | Invitee | N | N | No, accepted a c_i but not oob invitation. | |
| Decline connection request | N | N | |||
| Public DID | Exposes Issuer DID for the organization | ||||
| Trust Ping | Sender | Could not find settings, see Notes tab about errors in BPA log. | |||
| Trust Ping | Receiver | Seems to respond ok to trust pings. | |||
| Schema/Cred.Def. | Create Schema | Y | N | Operation returned an invalid status code 'InternalServerError' | |
| Import Schema | Y | N | Getting errors that schema id isn’t valid | ||
| Create Cred. Def. | Y | Done on same screen when Create/Import Schema (called Credential Templates) | |||
| Create Revokable Cred. Def. | Y | ||||
| Credential Exchange | Issue/Offer Credential | Issuer | Y | N | |
| Review Credential Offer | Holder | ? | ? | API only (to the wallet), review,accept, decline (delete) | |
| Accept Credential Offer | Holder | ||||
| Decline Credential Offer | Holder | ||||
| Revoke Credential | Issuer | Y | ? | Issuance not currently working, reached out for help from TS | |
| Request Verification | Holder | N | N | ||
| Presentation/Proof Exchange | Create Proof Request Templates | Verifier | Y | Y | |
| Create Proof Request | Verifier | Y | Y | Attribute name didn't come through properly… | |
| Present Proof (Accept) | Prover | ? | N | Wallet API supports this, but didn't recognize the issued credential as valid to fulfil proof request | |
| Decline to Present Proof | Prover | ? | Y | Wallet API | |
| Send Presentation/Proposal | Prover | ? | N | Wallet API | |
| Receive Presentation/Proposal | Verifier | ? | Wallet API | ||
| Accept Presenation/Proposal | Verifier | ? | Wallet API | ||
| Decline Presentation/Propsal | Verifier | ? | Y | Wallet API | |
| Admin | Change Ledger | N | N | Ledger is selected when Organization is created |