Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

High-level Framework architecture


Aries framework go Framework Go wallet has plugin based architecture which can be replaced used to replace specific features to customize a wallet implementations.

Initialize wallet: 

Since "wallet per aries instance" approach to be used for aries-framework-go, all additional wallet specific initialization steps like creating keys, DIDs can be either performed during very first access to any of the below interface functions or it can be done using a dedicated initialization method.

We should rule out the possibility of using "multiple wallets per aries instance" approach due to challenges in handling data leaks between the wallet users.

Wallet core features: 

...

  • Does aries wallet really needs lock/unlock feature?

    → Open question : Still investigating
  • Should we provide password in each api call as given in specification? 
    → to be decided during design discussion.


VC plugin:

VC plugin adds verifiable credential features to the wallet. By default aries-framework-go verifiable command features will be used for creating and verifying credentials/presentations.
The new additional interface 'presentationSubmission' can be used to submit presentation definitions to the wallet and to get presentation submission as response.DID plugin & aries kms will be used for generating proofs.

  • VerifyTakes a Verifiable Credential or Verifiable Presentation as input, returns a boolean verified, and an error if verified is false.
  • Issue: Adds proof to verifiable credential provided. (options contains at least a verificationMethod, and proofPurpose.)
  • Prove:  Takes an id of the verifiable credential and verifies the proof (options contains at least a challenge.)
  • presentationSubmission: Produces presentation submission based on wallet contents.

...