WASM Browser Plugin for Hyperledger Indy
Description
The web browser is the main application used by those on desktop/laptop computers. It allows for a common experience for end-users and also allows them to take advantage of new features without having to install additional software. Developers also benefit from the common usage because it allows them to take advantage of existing standards, frameworks, libraries, and design patterns to add new features to the user experience. We would like to leverage these capabilities to introduce users to Hyperledger Indy. Hyperledger Indy requires a user to have a wallet and an agent that can manage the connections between various parties. By incorporating the wallet and agent into a Chrome extension, we would be able to gently introduce users to these concepts and provide a way for them to experiment in their browser and upgrade to more refined experiences as their interest increases.
The extension would allow users to create digital identities and to connect with others using similar technology and also to send and receive messages.
The project would leverage the ability of the Hyperledger Indy and Ursa projects to produce WASM code that would be incorporated into the extension.
Additional Information
Hyperledger Indy SDK - https://github.com/hyperledger/indy-sdk
Hyperledger Indy Agent - https://github.com/hyperledger/indy-agent
Chrome extension development
JavaScript API design
Learning Objectives
This internship will provide the student with familiarity in:
- project version control through Github
- distributed public key management through the use of Indy wallet and SDK
- agent to agent messaging for ZKP transport
- community driven protocol development
- programming an open-source project
Weekly meetings the mentor over email, phone, or Zoom.
Student is expected to be self-reliant and motivated seeking direction from the mentor or others in the community as needed.
Expected Outcome
The MVP is an Indy Chrome extension paired with a Javascript API. Users should be able to use the Chrome Extension to create a digital identity and connect to others using the Chrome Indy extension. The Chrome Extension should provide a JavaScript API that websites call to perform the following functions
Detect presence of extension
Create a wallet
Establish a connection
Send Messages
Relation to Hyperledger
Hyperledger Indy
Education Level
Graduate student or undergraduate student
Skills
JavaScript
Previous experience designing JavaScript APIs
Previous Hyperledger Indy experience (desired, but not required)
Experience building a browser extension (desired, but not required)
Future plans
The project will be used to test how various aspects of a browser based agent and wallet can lead to further consumer adoption.
Preferred Hours and Length of Internship
Full-time (40 hours a week for 12 weeks during the summer)
Mentor(s) Names and Contact Info
Thomas Shelton, tshelton@culedger.com and Daniel Bluhm, daniel.bluhm@sovrin.org