VS Code Debugger Plugin for Hyperledger Fabric Chaincode
Description
A VS code extension and toolbox to debugging a chaincode. The extension once installed can be used by developers of chaincode to run and debug from their IDE, to understand how their chaincode behaves. The current process of installing the chaincode, adding the logs, running it through a test network for operational efficiency is not ideal for a faster development cycle. There is also a dependency on number of tools and commands that a developer would need to be aware of before developing the chaincode. The scope of this project is to utilize one of the existing deployment means for the chaincode, then provide a debugger from the VS code through a plugin.
Learning Objectives
- Learn how to build a VS code plugin.
- Learn Hyperledger Fabric fundamentals, dependencies for the chaincode development.
- Learn what debugging means, and different approaches to debugging.
- Contribute to a new open source initiative that has potential to be used by a significant developer community.
Expected Outcome and Deliverables
- Develop a plugin that can be installed and run on any developer machine.
- Ideally, one should be able to develop on any operating system, be it a Mac, Windows, or any of the Linux variant.
- Debug the chaincode as the developers are used to writing their code, as opposed to learning administrative aspects. At times reproducing a production scenario is all it takes to fix an issue, and it may get complicated with patch fixes.
- Option to initialize the state database so that the debugging can be effective. - This is a futuristic goal to achieve with the project.
- Primary goal is for the chaincode to be deployment ready at the end of the development cycle.
The deliverable is the working VS code plugin.
Relation to Hyperledger and Impact on the community
Hyperledger Fabric chaincode developers do a list of mundane tasks to setup a runtime environment. This becomes a redundant activity, then the developer would need to package and perform a chaincode deployment for debugging. The overall experience from a developer can be improved significantly if there is a native debugging interface from the IDE.
Recommended Skills
- Fundamentals of Hyperledger Fabric.
- TypeScript/JavaScript programming language.
- Exposure to containerization, for instance, creating the docker file.
- Exposure to working with containers, for instance, exposure to docker-compose, docker-swarm tools.
- Exposure to UI development.
- Exposure to developing a VS code plugin.
Mentor(s) Names and Contact Info
Name: Arun S M
Email: arun.s.m.cse@gmail.com
discord: arsulegai
Additional Information
The current development is available at https://github.com/arsulegai/fabric-debugger