Project Plan - Indy Read Replica Implementation
Abstract
A Hyperledger Indy "read replica” is a web service that holds copies of the ledger transactions from one or more Indy ledgers and can be used by clients that trust the replica. While an instance of the service is intended to be accessed by arbitrary agents, an enterprise might run a read replica on their own servers for the use of their own agents – the agents "trust" the deployment of the read replica. In turn, the use of read replicas will reduce the read load on the Indy ledgers it replicates. Each replica must stay up to date with the transactions on the ledgers it supports, and agents using the replica need not connect directly with the ledger.
Mentor and Mentee
Mentors: Sam Curren, Stephen Curran
Timezone: US Mountain and Canadian Pacific
Mentee: Bryan Elee Atonye
Timezone: West Africa
Project repo: TBD
Deliverables
Milestones
Eval 1:
Eval 2:
Eval 3:
Eval 4:
Timeline
Week | Task/Plan | Status |
|---|---|---|
June 03 - June 23 | On boarding/orientation sessions. Meet with the mentors, discuss project implementation details, | COMPLETED |
June 24 - July 7 | Design Hyperledger Indy Read Replica web service component and Spec out API endpoints with
| COMPLETED |
July 8 - July 22 | Evolve IndyScan to include and support a client agent API with an HTTP version of the existing | COMPLETED |
July 22 - July 26 | Prepare docker deployment and instructions. | COMPLETED |
July 27 - August 18 | Consult with the Mentors to design the remainder of the API calls for getting Indy Objects. | COMPLETED |
August 19 - September 01 | Implement agreed upon design. | COMPLETED |
September 02 - September 06 | Implement GitHub CI/CD Pipeline for testing pull requests and preparing release artifacts. Implement an appropriate authorization scheme to protect the web service. MIDTERM EVALUATIONS | IN PROGRESS
|
September 08 - September 22 | Continue work on GitHub CI/CD pipeline as necessary. Consult with Mentors on approach to address the “startup issue” – loading a replica without querying the ledger transaction by transaction. |
|
September 23 - October 19 | Implementation of the agreed upon replica start strategy. |
|
October 14 - October 18 | 3RD QUARTER MENTEE EVALUATION |
|
October 19 - November 10 | Implement Pub-Sub APIs for notifying read replicas of new transactions using an approach agreed |
|
November 11 - November 29 | Buffer for project wrap up. Revaluate work done so far. Review the code and make changes where necessary; Complete testing. |
|
Explanation
Methodology