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

spike: investigated feasibility of moving Askar wallet from aca-py/mediator to credo #2284

Open
cvarjao opened this issue Nov 22, 2024 · 2 comments
Assignees

Comments

@cvarjao
Copy link
Member

cvarjao commented Nov 22, 2024

  • can we move (export/import) an existing database/wallet from aca-py mediator to a credo mediator? if so, how?
  • Do we need any tooling or updates to support it?

Tasks:

  • Standup aca-py mediator locally, create invitation to connect
  • Update wallet to use invitation URL, do a few connections exchange messages
  • Stop aca-py mediator
  • standup credo mediator locally
  • export data from aca-py, and import to credo (via database backup/restore or some askar utility?)
  • Start credo using the same URL
  • Validate that the invitation to connect is still works
  • Validate exchange messages to existing connections still works
@al-rosenthal
Copy link
Contributor

al-rosenthal commented Jan 16, 2025

Both mediators (acapy and credo) always create a new invitation URL when started. Decoded it looks like a new recipient key/ id are generated whenever those services are started.

I tried a few things but the most success I saw was with the following steps:


  1. Start DIDComm Mediator
  2. Start app locally with invite link generated
  3. Establish a connection with traction tenant
  4. Open database running and take a backup (format as tar)
  5. Shutdown mediator
  6. Start up new mediator
  7. Open database and drop mediator database
  8. Restore database from backup (tar file)
  9. Restart aries mediator
  10. Use link generated and start app locally
  11. Messages can be sent BACK to the tenant but cannot be sent from the tenant to the device
  12. Credentials cannot be issues to the old connection either

My next steps will be to investigate URL generation further

@al-rosenthal
Copy link
Contributor

After more investigation while the agent does produce a new invitation code on each start up, the old invitations are still valid. Testing this out with both agents, we can keep the invitation code from the previous link unchanged and messages/ interactions on old connections still work.

Steps to reproduce:

  1. Start mediator service
  2. Start wallet app locally with new mediator service URL
  3. Establish a connection with another agent (traction sandbox or showcase)
  4. Connect to database running and take a backup with these settings:
Image
  1. Shut down mediator service
  2. Start new mediator service
  3. Connect to database and restore the database with these settings using the previously created tar file
Image
  1. Restart the new mediator service
  2. Send new messages, issue credentials, revoke ect. and see actions work through the new mediator

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

2 participants