Code Monkey home page Code Monkey logo

emission-trade-market's Introduction

Install the prerequisites and the development environment:

You can follow thos tutorials to install prereq and your environment

-Prereq:https://hyperledger.github.io/composer/installing/installing-prereqs.html

-Development Environment:https://hyperledger.github.io/composer/installing/development-tools.html (Step 2 and 3 are not required to run the project)

How to run:

To update Composer logic (optional):

To generate a new business network archive (Do it only after changing the composer, otherwise skip this step and go to Setup network)

First, navigate to the emission-network directory.

composer archive create -t dir -n .

Then copy the generate [email protected] file to the network folder.

mv [email protected] ../network/

Now you are ready to deploy the updated busniess logic to the fabric network!


To setup the Fabric network:

Inside network directory.

sudo chmod u+x *

To kill any running containers and remove previous Fabric chaincode images:

./teardownAllDocker.sh

Preload fabric:

./preload_fabric.sh

Then download platform-specific binaries:

./getBin.sh

Deploy network:

./deploy_network.sh

Deploy composer:

./deploy_composer.sh 

That's it. Rest server is now running at localhost:3000!


Some errors can be resolved as follow:

-try to use sudo before to run a script

-if you can't access card files: chmod -R 777 ~/.composer

-if you still cannot access thos files try this " chmod -R 777 * " in the network directory

To start the front-end client:

Navigate to web directory.

(Optional) Start with pre-installed markets and companies

sh setup-market.sh

Start the node cient:

node server.js

The app is now running at localhost:8080!

Decentralized emission trade market

Companies active in the Port of Rotterdam operate within a strict emission regulatory framework. This framework sets maximum allowed values per company for each of the emission types (CO2, NOX, SO2 etc.). The sum of the maximum allowed values per emission type /per company cannot exceed the total allowed emissions for the port region as a whole. For some of these emission types companies find it easier to stay below the threshold than for others, while for others it is much more difficult and would require extensive investment.

First step would be to develop a decentralized emission market that would allow companies to trade residual emission space with others, directly (1) or indirectly (2):

Bob has residual NOX emissions, but has reached his maximum allowed value of emissions for SO2. Alice on the other hand has residual SO2 emissions, but needs NOX. The system should provide Bob and Alice with the possibility to trade these emissions.

Bob has residual NOX emissions, but has reached his maximum allowed value of emissions for SO2. Alice only has residual CO2 emissions, but doesn’t need any other emissions. However, elsewhere in the network there’s John who needs additional CO2 emissions and has residual SO2 emissions. The system should provide Bob, Alice and John the possibility to be able to trade these emissions.

Note that there’s a very strict legal framework in place and that for the project to be of any value, aspects of this framework have to be taken into consideration in order for it to be of any actual value. Additional information about this framework and data will be made available to the students upon the start of the project.

The target of this project is to build a decentralized market which allows the companies to trade emission. The following design criterium should be taken into account:

The trading records should be transparent and traceable, and most importantly, fit into the legal framework.

The blockchain should have a very high reliability and security level. On the other hand, the throughput, latency, and storage requirements are relatively low.

A smart matchmaking scheme should also be designed, which allows not only 2-party trades, but also multi-party trading matches.

emission-trade-market's People

Contributors

gabrielvilen avatar huanggze avatar tamycova avatar stefan-stojkovski avatar atravelingn3rd avatar zhijieren avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.