[2023-06-28 07:58.03 +0000]

today:

  • [v] docker integrate
  • [v] look at project plan
  • [v] look at wiki account

[2023-06-29]

Presented at Aries Meetup.
audio @ Youtube

https://youtu.be/Wg0R5a1nBzo?t=1212

I am under mentorship at the aries vcx team. 
I will be working on aries mediator project. Previously called agency. They are similar roles.
For those that don't know. mediator is 
-  like a drop box people can  send you messages there
-  and you can pick them up later
-  useful for scenarios like your mobile phone agent which can't always recieve messages
    - network interruption
    - sleep. 
    - power conservation
- You can  think of this as the homeserver in matrix ecosystem if familiar, but much simpler. 
- all messages are end to end encrypted so mediator doesn't effect the security of the system. 

In the last couple of weeks, I have been 
- onboarding (introduction to the project)
- geeting comfortable with the ecosystem, attending random hyperledger meetings.
- setting up vcx development environment on my device. 
- it starts easy but it can have some tricky bits. 
    - we were stuck on some bits regarding integrations with the rest of ecosystem. 
    - with swapnil and the teams help, we finally resolved those yesterday. and  think we are in a good state ready to work on the repo .
    - I have also been looking into and researching frameworks that would be suitable for this project,
    - patrick describes the requirements and expectation we have from the service
      - horizontal scalability
      - performance
      - and ability to use websockets for persistent connection to mobile devices
    - Hopefully by next week we'll have a final selection. 

Yes, that's the status till now. 

[2023-06-30 04:31.57 +0000]

Evaluation as tests? Let's do test driven development? (just an idea)

Project plan

Stage 1: HTTP Server and Json messages. 
- define storage traits and impl
- end points
- tests. 
- CI: Build on commit/pushed commits.

Eval:
- setup development environment
- rust learning (learn and gain good pedagogical familiarity with concepts used: structs, impls, macros, etc )
- basic web service skeleton ready
- CI for making sure builds succeed

Step 1.05/2.05/4.05: Discuss registration options. (fuzzy)
- decide form of registration
    - box using what identifier (random, or key based)
    - what will be the authenticator (key?)?
- procedure of registration
    - auto registration of receiver based on forward message target (if key based boxes)
    - proactive registration by receiver 
        - (allows websocket connection to be set up and in place; when implemented)
    - Both above can be done simultaneously, to enable sender initiated, receiver initiated service
    - ~~integrate/harmonize the two boxes (maybe, or keep them separate for privacy if possible)~~
impl

Stage 2: Add data structures of Connection protocol. 
- see if need to change storage traits, or just create new implementation.
- optimise endpoints (api etc)
- tests (see if data is being stored in database.)

Eval:
- Demonstrate grasp of basic rust concepts (mentioned earlier)
- Grasp understanding of more advanced rust concepts (arc etc)
- Able to use existing sophisticated/complex rust library inside a different project.


stage 3: Add pickup protocol data structure to Aries-Vcx
- Add data structures and maybe impls to Ariec vcx (this could take time to design, iterate, and code inside vcx.)
- test for above

Eval:
- Demonstrate usable rust proficiency ~~familiarity~~ to integrate new features in complex codebase
- 
Stage 4: Integrate included pickup protocol stuff in Mediator code.
- pull pickup struct definitions / traits from vcx and integrate with local impl
- see if additional local interfaces need to be defined for http / mediation (like accounts etc)
- tests.

Eval:
- 

Wrap up:
- CI work, CI and CI driven releases of binaries
- design / define workings of websocket service api (not necessarily code)

Deliverables:
- special aries agent (mediator) that can store messages forwarded through connection protocol.
- Pickup protocol Data Structs and impl inside aries-vcx
- mediator service that can answer pick up protocol requests to authenticated peers
- CI to build and test on commit.

Extra Deliverables:
- CI to make releases on based on tags and provide binaries in github's release section.
- (stretch goal): mediator service that can notify registered peers on inbox message available.

Mentee maintains a blog with frequent updates:


 Aries VCX Diaries

Put up a project plan on wiki. Talked to Patrik. Said will be making some edits to evaluations, rest is good!

A more refined version is on the Wiki. Thanks Patrik!

Project Plan @ Hyperledger Wiki


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

Published

Last Updated

Category

Status

Tags

Contact