Benri | TBD Incubator Proposal – Shared JS Components
Statement of value to the TBD ecosystem (Web5, TDEX, etc)
The mission of this project is to help with the edification and adoption of web5/SSI standards. Today, there are building blocks necessary to expand the adoption of Web5 and support the developer community. This project proposal aims to develop a fundamental building block for utilization across several future Web5 projects.
In the scope of this project, Benri is to work with TBD to define components as reusable. Some of the focuses for the components will be:
- Ensuring compatibility and reusability across projects
- Ensuring efforts are not duplicated across projects
Benri’s original idea was to design a solution around the SSI services that serves as a teaching mechanicsm to Web5 and the various data models in the SSI community, such as Verifiable Credentials, Wallets, and DID’s. We realized that before we build any UI, the core building blocks could be shared across repos, and should be addressed first. This would also help simplify the developer experience and speed up the roadmap for new projects by TBD and the web5 developer community at large.
The current state is : STRAWMAN . Proposals to change scope and/or re-think approach are welcome on this version.
Version Tag: 0.0.1-SM
Flow charts to be finalized after further conversations with TBD to finalize scoping.
- 1 npm compliant library for reusable web5 components
- done in vanilla js/typescript to ensure reuability in different frameworks (vue, react, etc.)
- A set of components (written in a UI framework such as Vue)
- Installable via. yarn
Benri will work with TBD to determine useful components based upon the User Stories. Complete scoping of user stories and how they relate to Alpha are to be determined. Post acceptance, we will iterate and bring forth a more concrete perspective on which components we will focus on first and why.
- As a developer, I want to make an app that does basic SSI operations using the
service-libs. These operations include but are not limited to:
- did module:
- creating a did ( with method flexibility )
- selecting from an existing did
- vc module:
- creating a vc
- creating a template for a VC
- issuing a new vc
- kms module:
- key creation
- key deletion
- wallet rendering:
- view presentation request
- send verifiable presentation
- prepare presentation
- did module:
- Making sure we can use things cross builds.
- Duplication of efforts
Testing harnesses TBD later in scoping, but most likely the following two ways:
- CICD with Github Actions
- Test Suite (Jest/Yarn) etc.
We will probably have the following CICD services running on the repo.
- FOSSA checks
- CodeCov ( are minimum coverage metrics required for this project? )
- Possibly some embedded contributor metrics on the README