2019-08-03 19:50:52,931 asyncio ERROR Task exception was never retrieved
future: <Task finished coro=<start_app() done, defined at /Data/Code/public/hyperledger/aries/cloudagentpy/aries_cloudagent/__init__.py:27> exception=StartupError("New seed provided which doesn't match the registered public did VYb4UdJiKPVAG76YDiHLPb")>
Traceback (most recent call last):
File "/Data/Code/public/hyperledger/aries/cloudagentpy/aries_cloudagent/__init__.py", line 30, in start_app
await conductor.start()
File "/Data/Code/public/hyperledger/aries/cloudagentpy/aries_cloudagent/conductor.py", line 163, in start
+ f" public did {public_did_info.did}"
aries_cloudagent.error.StartupError: New seed provided which doesn't match the registered public did VYb4UdJiKPVAG76YDiHLPb
The source of the error is the following code
class Conductor:
"""
Conductor class.
Class responsible for initializing concrete implementations
of our require interfaces and routing inbound and outbound message data.
"""
....
async def start(self) -> None:
"""Start the agent."""
context = self.context
# Initialize wallet
wallet: BaseWallet = await context.inject(BaseWallet)
wallet_seed = context.settings.get("wallet.seed")
public_did_info = await wallet.get_public_did()
public_did = None
if public_did_info:
public_did = public_did_info.did
# If we already have a registered public did and it doesn't match
# the one derived from `wallet_seed` then we error out.
# TODO: Add a command to change public did explicitly
if wallet_seed and seed_to_did(wallet_seed) != public_did_info.did:
raise StartupError(
"New seed provided which doesn't match the registered"
+ f" public did {public_did_info.did}"
)
elif wallet_seed:
public_did_info = await wallet.create_public_d
Notable is the comment #TODO: Add a combed to change public did explicitly.
This appears to be an oversight that prevents aca-py from being used for anything but a fixed public did for any given wallet.
If I change the wallet name and wallet key then it works
When using aca-py (but with working around this fatal error https://github.com/hyperledger/aries-cloudagent-python/issues/120). I try to run aca-py with a different --seed (wallet seed) than that used by the faber.py agent.
I first go to the von-network web browser and register a new did with a seed. This seed.
0123456789ABCDEF0123456789ABCDEF
dentity successfully registered:
Seed: 0123456789ABCDEF0123456789ABCDEF DID: 3avoBCqDMFHFaKUHug9s8W Verkey: 2QiWG18JjfjUFQMk8xdmhyphRzmbveaYbGM3R8iPbiBx
I then provide this seed to aca-py I then run aca-py with the following command line options:
The following error occurs
The source of the error is the following code
Notable is the comment #TODO: Add a combed to change public did explicitly.
This appears to be an oversight that prevents aca-py from being used for anything but a fixed public did for any given wallet.
If I change the wallet name and wallet key then it works
Suggest add tests that test sane configurations of aca-py that are not the pre baked demo ones. Otherwise these sorts of bugs will go undetected.
Suggest add issue to fix the TODO above.