The utility emissions channel is a Hyperledger Fabric application which calculates Greenhouse Gas (GHG) emissions from utility bills and stores them on a Fabric ledger. This can then be used to generate audited emissions for businesses and individuals and help them calculate and offset their total carbon footprint. Because the application involves looking up data and performing numerical calculations, it's important to have automated tests to make sure that it's done correctly.
As part of this project, you will develop automated tests for the utility emissions channel which will validate that the application is working as expected. These tests will verify that the application is looking up the utility bills for the correct customer and time frame, using the correct emissions factors data to calculate GHG emissions, recording them correctly on the Fabric ledger, and finally tokenizing them correctly on an Ethereum network.
There are currently tests written to submit requests via REST API which connects to the chain code. The tests could be enhanced and eventually packaged along with deployment scripts so that a fresh testing instance could load all the data and run all the scripts to validate the results. In the next step, the tests should be integrated into a CI/CD pipeline using GitHub Actions for test automation.
For background, see the Carbon Accounting and Certification WG wiki page.
To check out the code, see https://github.com/hyperledger-labs/blockchain-carbon-accounting, specifically utility-emissions-channel/README.md for more details on the Hyperledger Fabric utility emissions channel and the automated tests.
As part of this project, you will learn about
- Hyperledger Fabric chain code development
- REST APIs
- Automated testing frameworks
- Open source development and project management
- CI/CD using GitHub Actions
At the end of the project, you will have had a lot of fun, helped with climate change, and created an automated test suite to validate the utility emissions channel's emissions calculations.
Relation to Hyperledger
This project is part of the Hyperledger Labs blockchain-carbon-accounting project and the Climate Action SIG. It will work with Hyperledger Fabric as the main technology.
Familiarity with Hyperledger Fabric, Node.js, automated testing frameworks, GitHub Actions
After the conclusion of the project, you can join us for more development in the Climate Action SIG as well as get involved in production climate blockchains that drive climate action that include tokens and DAO's.
Preferred Hours and Length of Internship
Full time or part time. Three months.
Mentor(s) Names and Contact Info
Si Chen, Open Source Strategies, Inc. - firstname.lastname@example.org