...
Swapnil Tripathi, Discord: TODOswaptr, Github: https://github.com/swaptr
Deliverables
- Create Android binary + bindings compilation scripts for the existing UniFFI prototype in aries-vcx: https://github.com/hyperledger/aries-vcx/tree/main/uniffi_aries_vcx
- Bootstrap sample android demo application, which consumes the existing prototype's bindings and binaries
- Update existing prototype to use newer aries_vcx functionality (switch from vdrtools profile to modular_libs profile) Create bindings for all
Connection
APIs and update sample app accordingly - Create bindings for all
Holder
APIs and update sample app accordingly - Design/Discover APIs for a rust mediator client
- Implement APIs for a rust mediator client
- Create bindings for mediator client and update sample app accordingly
- Create bindings for all
Prover
APIs and update sample app accordingly - Update existing prototype to use newer aries_vcx functionality (switch from vdrtools profile to modular_libs profile)
Bonus Deliverables
- Create CI for compiling and packaging an Android SDK deliverable with aries_vcx and mediator client functionality
- Consider async API optimizations (how can be improve on the existing
run_blocking
approach.. UniFFI may have support for this later in the timeline!) - Create CI for compiling and packaging an iOS SDK deliverable with aries_vcx and mediator client functionality
Milestones
Eval 1:
- Comfortable with aries-vcx and UniFFI tool
- Script for building uniffi_aries_vcx android consumables developed
- Sample app bootstrapped and consuming/demonstrating uniffi_aries_vcx bindings
Eval 2:
- Connection APIs wrapped in UniFFI
- Holder APIs wrapped in UniFFI Sample app updated to demonstrate Connection APIs Sample app updated to demonstrate Holder APIs
Eval 3:
- Designed mediator client implementation
- Implemented mediator client implementation
- key registration
- message pickup
- Holder APIs wrapped in UniFFI
Eval 4:
- mediator client APIs wrapped in UniFFI
- Prover APIs wrapped in UniFFI
- Migrate to modular libs stack (credx, indy-vdr)
- Sample app updated to demonstrate Prover APIssupport Holder flow (receive a credential)
Timeline
Dates | Tasks/Plan | Status |
---|
Jun 12 - Jun 26 | Mentee intro with the mentor.
On-boarding:
- understand aries vcx project/s
- Get aries-vcx integration tests working to confirm development environment
- plan out the scope and tasks for the UniFFI project
- complete UniFFI tutorials
- build rust sample project for Android architectures
| ✅ |
Jun 27 - Jul 10 | - Manually build the existing uniffi_aries_vcx project for android
- Create a convenience script for compiling uniffi_aries_vcx project for android
- Expand the script to generate UniFFI bindings for uniffi_aries_vcx
| ✅ |
Jul 11 - Jul 24 | - Bootstrap android sample app which consumes bindings generated by script mentioned above - demonstrate app to mentors (e.g. a simple button that calls into an existing uniffi method).
- consider how to best automate/optimize personal development flow from creating new feature to testing in app
-
|
PR-
update uniffi_aries_vcx to use modular-libs instead of vdrtools- Not an appropriate time for this
| ✅ |
Jul 25 - Aug 7 (Jul 28 eval) | - Complete
Connection API uniffi bindings - Update sample app to
|
use Connection APIs- additional considerations: app complexity (invitation QR scanner, receiving incoming messages via dummy/testing relay/mediator service)
- PR
Complete Holder
API uniffi bindings use Holder
APIsPR | ✅ |
Aug 22 - Sep 4 (Sept 1 eval) | |
Breather to complete outstanding above tasks
- Discuss and design mediator client APIs with mentors
- Update sample app to send request
| ✅ |
Sep 5 - Sep 18 | |
Implement mediator client key registration related APIs (i.e. creating initial connection with mediator service)- Update sample app to wait for response and complete connection protocol
| ✅ |
Sep 19 - Oct 2 | |
Finish mediator client implementation (pickup protocol)- PR
- if ready: consider testing against other aries-vcx mentorship project (mediator service)
- Work on Holder API bindings
| ✅ |
Oct 3 - Oct 16 (Oct 13 eval)
| |
Wrap mediator client with UniFFI bindings- complete Holder API bindings
- start/plan work on sample app holder flow (receive a cred)
| ✅ |
- Update sample app to consume the mediator client
Complete Prover
API uniffi bindings
- Migrate to modular libs stack (credx, indy-vdr) and ensure successful compilation still
- continue work on sample app holder flow (receive a cred)
| ✅ |
- Update sample app to use
Prover
APIs
|
Oct 31 - Nov 6 | - complete sample app holder flow
- Breather and any final touches
|
|
Nov 7 - Nov 30 (Nov 30 eval) | - Consider bonus deliverables mentioned above
|
|