Week 10 summary:

Week Goals:

  • [x] Initialize Aries agent wallet
  • [x] Mediator (http) PR merge with fixes
  • [ ] // Hold back from agent implementation; for a bit. Some PRs are merging that will make our task easier, fluid.

Reading:

# Visibility and privacy (pub)
- https://doc.rust-lang.org/reference/visibility-and-privacy.html
# pub stands for publish, not public
- https://internals.rust-lang.org/t/visibility-modifiers-pub-super-vs-super/7838/4
# Workspaces (To understand how aries_vcx is organised)
- https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html 
# Multiple impl blocks can be used sometimes
- https://doc.rust-lang.org/book/ch05-03-method-syntax.html?highlight=method%20syntax#multiple-impl-blocks

Questions:

- Q: What is difference between use `aries_vcx::core` and `aries_vcx_core` ?  
  A: 
    - `aries_vcx_core`: integrations with wallets etc
    - `aries_vcx::core`: internal state machine integration. 
- Q: What is relationship between `agent`, `agency_client` ?  
    - I know `agent` _uses_ `agency_client`. What is in each?  
    - What is an `agency_client`? I am assuming `agent` means Aries agent.  

  A: 
    - `agency_client`: client, for `vcxagencynode` (a nodejs based mediator).  
    - Uses custom communication (custom api)  
    - We won't need it. We will write our own client, supporting Pick Up protocol
- Q: What is `Profile` (in `aries_vcx`)?  
  A:
    - Not required for third party app.  
    - Container that stores, wallet, ledger, anoncreds etc. A helper store.  
    - For mediator, we won't need ledger, anoncreds, etc, so no need of this compilation struct. 

Insight/Thoughts:

  • Unwrap is bad (in production), use expect instead
    • Maybe okay sometimes. But maybe default to .expect, so as to document why we ignore this error/None case.
  • (Patrik:) Testing pyramid. [archive]
    • Try to test closer to function (unit tests) more often, and about a handful of overarching integration tests.

Next Todo:

  • OOB (out of band) invite: create, accept.

naian is participating in Linux Foundation's LFX 2023 mentorship program, working on the aries-vcx mediator project at Hyperledger Foundation.

Published

Category

Status

Tags

Contact