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

Implement did:indy registry #2368

Open dbluhm opened 1 year ago

dbluhm commented 1 year ago

Following example of the Legacy Indy registry, implement a did:indy registry. This registry will share much of the backend code for interacting with ledgers with the Legacy Indy implementation. The only real difference will be support for did:indy identifiers instead of the legacy indy identifiers. See the did:indy method specification for more details on these identifiers.

rngadam commented 3 months ago

I see there is a did_indy plugin loaded when askar-anoncreds wallets are used that registers a regexp for did:indy, but all methods raised not implemented:

https://github.com/hyperledger/aries-cloudagent-python/blob/9f5ae0b2d3e39cd0106a4d66c3fa4deb3658ff63/aries_cloudagent/anoncreds/default/did_indy/registry.py

I see this is part of https://github.com/orgs/hyperledger/projects/26 "Ledger Agnostic AnonCreds in ACA-py" and one of the two remaining tasks (the other one is implementing did:web)

rngadam commented 2 months ago

In addition, I also noticed that outside of the TODO plugin there are hardcoded did:sov prefixes:

https://github.com/hyperledger/aries-cloudagent-python/blob/94a91c1a3a20c0d1d5b1f1617f4421a4de0cb1d6/aries_cloudagent/connections/base_manager.py#L369C1-L373C1

and cases where code expects either "naked" or did:sov prefix and nothing else:

https://github.com/hyperledger/aries-cloudagent-python/blob/94a91c1a3a20c0d1d5b1f1617f4421a4de0cb1d6/aries_cloudagent/vc/vc_ld/manager.py#L115C1-L118C1