Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GR] - Simple Reference Implementation (BRI-3) #85

Open
ognjenkurtic opened this issue Aug 17, 2022 · 9 comments
Open

[GR] - Simple Reference Implementation (BRI-3) #85

ognjenkurtic opened this issue Aug 17, 2022 · 9 comments

Comments

@ognjenkurtic
Copy link

ognjenkurtic commented Aug 17, 2022

Grant name

Simple Reference Implementation (BRI-3)

Applicant background

Biswashree Dey - @biscuitdey - 2 years experience as a full-stack web developer and Blockchain developer. Developed the Excel Plugin for the Baseline Protocol.

Stefan Kostic - @skosito - 7 years as a full stack web and BlockChain developer. Worked on Baseledger, couple Baseline examples, and currently working for End-Labs.

Manik Jain - @Manik-Jain - 8 years as a full stack BlockChain Researcher and Developer. Won 2 Cardano Catalyst Fund proposals, and has worked on industry leading products like TreeTrunk, Logosphere, EukaPay; besides working on to solve the BlockChain metadata problem. CoreDev and Maintainer at Baseline.

Ognjen Kurtic - @ognjenkurtic - 13 years experience as a full-stack developer. Building on blockchain for the last 5 years. Team lead, CTO and cofounder @ Finspot. Core dev @ Baseledger. Maintainer @ Baseline. Helped build the Test suite for a standard-based Baseline Protocol Implementation, as part of grant 16 from last year.

Motivation and overview

The goal is to create a simple reference implementation as outlined in the roadmap for 2022, working together with the Baseline ConsensysMesh team and following the standards document.

This reference implementation will be built from scratch and will contain a limited set of features. It will serve following purposes:

  • Plug and play Baseline Reference Implementation that can cover a number of business use-cases in live environments

  • Basis for community adoption and participation of companies with real-life business cases in extending the protocol

  • Trying out the concepts from the standard in practice and producing feedback loops for standard improvements

  • Entry point for developers to get to know the protocol, and start contributing in iterative and atomic fashion

  • Basis for the Baseline SDK

  • Set an example of how to build an open-source project under the Baseline protocol in regard to transparency, community participation and collaboration

  • First vendor-agnostic implementation of the protocol.

Initial team is already formed and meets every Thursday to sync on progress. Team consists of 4 members listed in the grant application together with two devs from Consensus Mesh, Keith Salzman and Yoav Bittan. The team can be extended in case there is a need and interest from the community. Work is being tracked through Github issues, and devs are encouraged to build in a manner that the community can easily track progress and participate (small PRs, documentation of design decisions, discussion for every major aspect through Github issues).

This grant application covers the full scope of the BRI-3 implementation from scratch. This is done on purpose to avoid bureaucracy overhead that would be introduced with a separate grant application for each component. Work will internally be split in milestones where the team will, in iterations, produce working and testable software that meets the acceptance criteria. This is to avoid mammoth grant verification at the end of the project and to enable different levels of commitment for team members in different periods of the project.

Execution risks

Team members are suddenly unable to commit to the project - low risk as all 4 team members are coming from different contexts. New devs could also be invited in case dev resources prove to be an issue.

Low quality or missing communication with key people around the Baseline standard - low risk as the communication channels are already set up and working. Could cause delays but would not block the project. Effort under this grant would actually help reduce this risk for other projects in the future as the standard knowledge would be much more spread and understood by the larger community of devs.

Downsides

None

Tasks and schedule (milestones if applicable)

  1. Documented agreement on the minimum viable product

    Description: Document describing a set of features that would be part of this implementation under the grant work.

    Due date: Completed max two weeks after grant approval. Not a blocker for work that is already ongoing

    Acceptance criteria: Document stored on the repo, under the BRI-3 folder.

  2. BRI-3 CRUD

    Description: Working application exposing APIs for working with all relevant entities of the BRI, as agreed in milestone 1. This includes the following:

     1. setting up the application architecture,
     2. deciding and implementing a server framework,
     3. deciding and implementing storage layer,
     4. Implementing CRUD API for all entities,
     5. Writing tests for all endpoints
    

    Due Date: 15 September

    Acceptance criteria: Tests run against the instance verify all CRUD operations ok. Application can be run manually and all the test results confirmed through manual testing of the API, if needed.

    Out of scope: Identity, Messaging, Authn and Authz

  3. BRI-3 Alpha

    Description: BRI-3 supports setting up BPI Subjects, BPI Subject accounts and BPI accounts as described in the standard. These identities can perform actions to set up and join workgroups and are properly authenticated with proof of ownership. They can also perform messaging between them.

    Due Date: 15 October

    Acceptance criteria: Tests run against the instance verify all operations from the scope are ok. Application can be run manually and all the test results confirmed through manual testing of the API, if needed.

    Out of scope: Workflows, worksteps, State changes

  4. BRI-3 Beta

    Description: BRI-3 supports agreeing on shared state for a single happy case (Buyer, Seller, Order), setting up simple workflows\worsteps with all the necessary admin actions and triggering state changes with BPI messages -> Transactions. All proofs are generated and stored accordingly and can be verified by the participants.

    Due Date: 5 december

    Acceptance criteria: Tests run against the instance verify all operations from the scope are ok. Application can be run manually and all the test results confirmed through manual testing of the API, if needed.

    Out of scope: General cases not still not covered, only the happy case works

  5. BRI-3 v1.0

    Description: BRI-3 supports general business cases with all the features that are part of the grant. All functionalities are covered with tests.

    Due Date: 20 december

    Acceptance criteria: Tests run against the instance verify all operations from the scope are ok. Application can be run manually and all the test results confirmed through manual testing of the API, if needed.

Budget and justification

USD $50,000 for the work from August to December, split in equal payments on successful delivery of milestones 2, 3, 4 and 5. Amount will be split among the team members based on the internal agreements, which will be based on the measurable contribution to the project.

@mehranshakeri
Copy link

This is a great step and IMO aligned with expectations from a BRI.

@GoldenBit0 GoldenBit0 added grant request Request for grant open labels Aug 18, 2022
@Sjaaaakster
Copy link

Great to see all these great devs gonna work together to do this important work!

@GoldenBit0
Copy link
Member

Grant application approved per majority vote by TSC

GoldenBit0 pushed a commit that referenced this issue Aug 22, 2022
updated approved grants to include 'Simple Reference Implementation- BRI3', located here #85
GoldenBit0 pushed a commit that referenced this issue Aug 22, 2022
updated available grant funds for year / allocated funds for year given recently approved grant for 'simple reference implementation-bri3', located here #85.
@ognjenkurtic
Copy link
Author

@GoldenBit0 Milestone 2 work has been completed yesterday. Everyone is invited to clone the repo and follow the instructions from the readme file to run the project, execute automated tests and perform manual testing with the help of the provided postman collection. We will also present work done so far on the next core devs call and baseline show. We would like to initiate the payment for milestone 2, so please let us know about next steps.

@skosito @Manik-Jain @biscuitdey

@GoldenBit0
Copy link
Member

@ognjenkurtic @skosito @Manik-Jain @biscuitdey

Great to hear! I will send that info to other core devs who are interested in testing it out.

Please submit a grant payment request using this issue template- https://github.com/eea-oasis/baseline-grants/blob/main/.github/ISSUE_TEMPLATE/grant-payment-request.md.

The next TSC call is on Thursday so I will aim to have the vote completed this week, then will facilitate the payment with Oasis (confirm emails for each participant > send to Oasis payment teams > you will all receive an email from 'OpenCollective' to fill in your info for payment)

cc @samratkishor regarding Baseline Show- I have pinged Samrat about if there is time this week or next.

@GoldenBit0
Copy link
Member

12/12/22 Core Devs Update:

  • Milestone 3 will be close to completion at the end of Dec. 2022, with payment in Jan. 2023.

@ognjenkurtic
Copy link
Author

ognjenkurtic commented Sep 24, 2023

@GoldenBit0 Milestone 4 work has been completed last week. Everyone is invited to clone the repo and follow the instructions from the readme file to run the project and\or execute the e2e test that runs through the SRI use-case. MIlestone 5 work has already started in parallel. Let's agree on the best format to present milestone 4 to the community (baseline show..?)

@skosito @biscuitdey @sf316

@GoldenBit0
Copy link
Member

Thanks! Are you able to join the Baseline Show this week (Wednesday, 9/27 @ 12pm est)?
Once presented, the non-grant recipient TSC members will vote to approve payment and I'll facilitate the usual payment steps. @ognjenkurtic @biscuitdey @sf316 @skosita

@ognjenkurtic
Copy link
Author

@GoldenBit0 Milestone 5 work has been completed last week, which effectively completes the grant. Everyone is invited to clone the repo and follow the instructions from the readme file to run the project and\or execute the e2e test that runs through the SRI use-case. We will be discussing next steps regarding future implementation and promotion on the next SRI sync call on Thursday.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants