raphabenoi / thesis

Code for my Master thesis: a decentralised application implementing an energy marketplace for community-based local electricity markets based on Hyperledger Fabric

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Master Thesis

Project Name: hypenergy

This repositpry containts the code for my Master's thesis: the implementation of a decentralised application called hypenergy, a peer-to-peer marketplace for community-based local electricity markets.

Prerequisites

  • Node 8.15.0 (support for node 10.x.x was announced and could also work now)
  • Docker 18.09.2 (make sure installation contains docker-compose)
  • npm 6.4.1
  • nvm can be used to install and switch between different node versions

Start

  • Install dependencies (from the root of the project)
    npm i
  • Create a new development blockchain network and install the chaincode on all peers (from the root of your project)
    npm start
  • Create a market by invoking the createMarket transaction (if timeout, try again)
    hurl invoke energymarket energymarket_createMarket "{\"id\":\"MKT\",\"auctionTime\":900000,\"gridBuyPrice\":25,\"gridSellPrice\":5}" -o org1 -u user1
  • Run tests
    npm run test

Play Around

Figures

A community-based local electricity market:

Community-Based LEM

The three layers of a local electricity market:

Three Layers of a LEM

This simplified class diagram describes the chaincode model:

Model-Controller Class Diagram

The architecture model for the decentralized application:

Architecture Model

The functional flow for an exemplary trading period:

Functional Flow

The transaction flow for an exemplary bid transaction:

Bid Transaction Flow

About

Code for my Master thesis: a decentralised application implementing an energy marketplace for community-based local electricity markets based on Hyperledger Fabric

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 87.9%Language:Shell 11.3%Language:JavaScript 0.8%