openwallet-foundation / acapy

ACA-Py is a foundation for building decentralized identity applications and services running in non-mobile environments.
https://aca-py.org
Apache License 2.0
419 stars 512 forks source link

aries_cloudagent.revocation.error.RevocationError: tails_server_base_url not configured #1887

Closed naman20sharma closed 3 months ago

naman20sharma commented 2 years ago

Using ACA-Py 0.7.4 version for creating Revocation Registry, Failed

While Creating Credential Definition, set "support_revocation": true, and received the following error:

aries_cloudagent.revocation.error.RevocationError: tails_server_base_url not configured Traceback (most recent call last): File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 164, in ready_middleware return await handler(request) File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 201, in debug_middleware return await handler(request) File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aiohttp_apispec/middlewares.py", line 45, in validation_middleware return await handler(request) File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 362, in setup_context return await task File "/home/indy/.pyenv/versions/3.6.13/lib/python3.6/site-packages/aries_cloudagent/messaging/credential_definitions/routes.py", line 167, in credential_definitions_send_credential_definition raise web.HTTPBadRequest(reason="tails_server_base_url not configured") aiohttp.web_exceptions.HTTPBadRequest: tails_server_base_url not configured

Using indy-tails-server: Indy Tail Server

Credentials Issued were "abandoned" in 0.7.4 by the holder. I fail to understand that despite the above mentioned error, the Cred_Def was published on the ledger (Indy), but Credentials aren't issuing.

Provided these params for agents as well --tails_server_base_url & --auto-create-revocation-transactions

swcurran commented 2 years ago

From the error, it looks like the --tails_server_base_url was not configured -- or at least not properly. You should take a look at what it was set to.

The creation of the CredDef takes places before the revocation registry -- it is not a single transaction, hence why the CredDef was created, even though the setup of the RevReg failed.

naman20sharma commented 2 years ago

From the error, it looks like the --tails_server_base_url was not configured -- or at least not properly. You should take a look at what it was set to.

The creation of the CredDef takes places before the revocation registry -- it is not a single transaction, hence why the CredDef was created, even though the setup of the RevReg failed.

Provided --tails_server_base_url http://<public-ip>:6543 Tried with ngrok server url as well, and still got same error.

Does "support_revocation": true param automates the process of Revocation Registry creation or do we need to manually create the Revocation Registry using POST /revocation/create-registry API ?

andrewwhitehead commented 2 years ago

The revocation registry is created automatically when support_revocation is true.

Note the command line parameter is --tails-server-base-url with dashes, not underscores.

naman20sharma commented 2 years ago

Revocation Registry was created and committed to the ledger as well. However, after revoking the credential, credential State in Issuer Wallet is credential_revoked, but in Holder's Wallet for same Cred is credential_acked.

used following JSON body for POST /revocation/revoke API

{
  "comment": "string",
  "connection_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "cred_ex_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "notify": true,
  "notify_version": "v1_0",
  "publish": true,
  "thread_id": "string"
}

I think it should change for the Holder as well, kindly suggest if I am missing something here ? @swcurran @andrewwhitehead