Open Executioner1939 opened 5 days ago
@esune @WadeBarnes — could one of help out (or find someone on the BC team) to help out with this question. It sounds like the answer is very close, and we’ve definitely had this going for some time.
@Executioner1939 thanks for the very through details, this helps understand where you are at.
The startup scripts you are using (with the added parameters described at the bottom of the issue) seem correct to me, and it looks like you have your endorser agent working correctly.
I suspect your issue is related to two things:
What I would try is the following:
/didexchange/create-request
or /out-of-band/create-invitation
to create a connection invitation and accept it before you do anything else (after provisioning the endorser and author agents, of course).author
end as you're already doing. You may also need to set transaction_their_job="TRANSACTION_ENDORSER"
on the author agent side.With the auto flags turned on, you should see the transaction going to the endorser, getting processed and sent back to the author. Depending on what you choose when you set-up the request, the endorser may write the transaction for you OR might send a signed transaction back for your author to write/publish.
I think this might be it. Give it a try and, if it doesn't work, we'll dig deeper.
Hi @esune and @swcurran thank you for the reply! I'll tackle this tomorrow and provide feedback!
Hi all,
I have some questions regarding the setup of my Multitenancy Node with a separate Endorser Node.
I feel as though I am going in circles and am stuck in a configuration nightmare so to speak and think I have just confused myself to the point that I need to ask for some clarifications on the setup.
I feel I am missing something as I can't get my Sub wallets (hereafter referred to simply as Tenants) to create the Schemas and associated Credential Definitions.
I have already read the following:
1657
983
1460
My takeaway from the above is to use a separate instance of ACA-py to run as an Endorser and do the Endorsement for transactions for my Tenants.
I am using the following version of ACA-py, denoted by this docker image, I am also using
askar
as the wallet type.ghcr.io/hyperledger/aries-cloudagent-python:py3.12-1.0.0
I have also read the documentation here:
I will detail below what I have done and where I am currently at.
I am using the von-network for testing, I have it running on a VM in GCP. I created a DID and Wallet for it following this guide:
This gives me a Public
DID
,Verkey
, andSeed
. I then registered, via the UI, theDID
as anEndorser
on the von-network.I then have one instance of ACA-py running as my "Endorser" with the following startup parameters (db parameters excluded):
Then I have my Multitenant Agent running with these parameters (db parameters excluded):
If someone can help me strip down the arguments to the bare minimum to get this working as well that would help.
Now, I have a bootstrap script, this is used to:
This can be seen below (Please note, I have summarized my code into a small single function to convey the steps I am following)
Questions:
When I run the code, it successfully creates the Tenant, DID, Writes it to the Ledger, creates the connection, sets the metadata and sets the DID as public as be seen from my logs:
But when I try to perform actions against my Subwallet I am running into issues, I shall just show the one method I use to create a Schema, I have a feeling this approach is completely wrong:
This always resulted in a Transaction Not Found error.
NB: Please also note, the Multitenant Agent and Endorser Agent are using separate databases, I am not sure if this should be the case.
I then started looking at the Endorser CLI arguments and amended my
Endorser Agent
to include:and my
Multitenant Agent
to include:Now when I run my script, it fails with the following error:
I would like some guidance if anyone has some time as I feel I took a wrong turn and wound up in an abandoned mine full of confusion and despair.
I will need to document this entire setup at work and would be very willing to contribute it back to the ACA-py documentation once done.
Please let me know if anything is unclear or if I have simply misunderstood something basic.