Git Product home page Git Product logo

blockpro's Introduction

BlockPro

Table of Contents

Background

Im Rahmen des BlockPro Projekts wird ein blockchainbasierter Herkunftsnachweis für erneuerbare Energien entwickelt. Transaktionen zwischen Energieerzeuger und Konsumenten werden manipulations- und revisionssicher in der Doichain gespeichert. Bisher wird Grünstrom auf Kontingentbasis verkauft, wohingegen mit BlockPro genaue Daten für den Peer-to-Peer-Handel erfasst werden. So können Jahresspitzenlasten ausgeglichen und Netznutzungsgebühren eingespart werden.

Get Started

  1. git clone this repo
  2. run npm i in root directory
  3. run docker-compose up to start 3 p2plib hosts in the docker environment, an electrumx server and doichain-node only in regtest
  4. connect to regtest: docker exec -it regtest bash. To create a balance run this in container regtest: doichain-cli -generate 101
  5. Connect to peer1 docker-compose exec peer1 bash, install: npm i -g [email protected] and run npm run peer1
  6. Connect to peer2 docker-compose exec peer1 bash, install: npm i -g [email protected] and run npm run peer2
  7. Ionnect to peer3 docker-compose exec peer3 bash, install: npm i -g [email protected] and run npm run peer3
  8. In container regtest create a new block to trigger new game for the peers with: doichain-cli -generate 1
  9. If needed configure requestInterval in settings.json to change the interval time in seconds in which meter data is collected
  10. If encountering electrumx error connecting to (doichain) daemon: In regtest container try: doichaind --reindex

Usage

BlockPro dient dem Herkunfts- und Verbrauchsnachweis von erneuerbarer Energie zwischen Produzenten und Konsumenten (Prosumenten). Über das Second-Layer Modell werden im Konsens Prosumenten ausgewählt, die die gesammelten Zählerstände aller peers in die Doichain schreiben und hierfür ein Bounty erhalten.

Aktivitätsdiagramm zum Peer2Peer Demoprotokoll

Resources

  1. Serial Port npm package for reading meter data https://www.npmjs.com/package/serialport
  2. Bitcoinjs-lib used for doichainjs-lib https://github.com/bitcoinjs/bitcoinjs-lib
  3. p2p lib used in 2nd Layer model https://github.com/libp2p/js-libp2p

Contributing

Small note: If editing the Readme, please conform to the standard-readme compliant specification.

License

License: MIT

MIT © 2021 Webanizer AG.

blockpro's People

Contributors

stallingerl 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.