Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: ACA-Py Plugin to Support the did:cheqd Method #1145

Open
ff137 opened this issue Oct 24, 2024 · 2 comments
Open

Proposal: ACA-Py Plugin to Support the did:cheqd Method #1145

ff137 opened this issue Oct 24, 2024 · 2 comments

Comments

@ff137
Copy link
Contributor

ff137 commented Oct 24, 2024

We would like to propose the development of a plugin for ACA-Py to support the did:cheqd method, allowing users of the ACA-Py ecosystem to interact with Cheqd's decentralized identity network.

Motivation:

Cheqd provides a decentralized identity network for managing DIDs and VCs, with a ledger, DID Registrar, Resolver, and AnonCreds support.

Integrating Cheqd’s capabilities into ACA-Py will enable us to leverage their network for credential issuance, verification, and revocation.

This initiative would align with ACA-Py’s broader objective of enhancing interoperability and supporting multiple DID methods.

Expected Scope of Work:

We estimate the following work will be required to implement this plugin:

  • Cheqd DID Registrar, Resolver, and Ledger Integration:

    • Implement interfaces within ACA-Py to interact with the Cheqd DID Registrar and Resolver.
    • Manage configuration for connecting to Cheqd nodes (testnet/mainnet) and any ledger-specific settings.
  • Wallet Key Management & Cryptographic Support:

    • Extending wallet functionality where necessary, to manage the keys and cryptographic methods required for integrating with the Cheqd network and supporting the did:cheqd method.
  • Anoncreds Support:

    • Enabling Anoncreds issuance, verification, and revocation using Cheqd’s DID-Linked Resource module.
    • Support for schemas, credential definitions, and revocation registries on the Cheqd ledger.
  • Managing Transaction Fees:

    • Tracking balances and handling transaction fees associated with operations on the Cheqd ledger.
  • Testing, Documentation and Review:

    • End-to-end integration testing, with plugin documentation that adheres to contribution standards.

Additional References:

Learn about Cheqd: https://learn.cheqd.io/

Cheqd DID Method Specification: https://docs.cheqd.io/product/architecture/adr-list/adr-001-cheqd-did-method


We welcome feedback from the community on the feasibility and scope of this plugin. The work outlined here is not exhaustive, and so will especially value input from those who have worked on other ACA-Py plugins to ensure we cover all necessary components.

I am willing to lead this initiative and would greatly appreciate contributions from other maintainers and community members to help drive it forward successfully.

Are there any existing integrations or experiences with similar plugins that we should take into account? What potential challenges should we anticipate?

If this proposal aligns with the interests of the community, then we look forward to working together and to bring it to life!

@PatStLouis
Copy link

This is a great outline of the scope, I'm not sure the acapy framework is the best place to manage the transaction fees, this sounds more like something a separate software would manage. I would be curious to know how the Credo implementation managed this part.

Aside from that this looks great.

@jamshale
Copy link
Contributor

jamshale commented Oct 28, 2024

Thank you. This is a good outline. There is still an open question if this will be done as a plugin or added as an anoncreds registry type to the core of aca-py. There's drawbacks and advantages of both options and I haven't decided which I think is better atm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants