Skip to content

Implementation of the Practical Byzantine Fault Tolerant Algorithm

License

Notifications You must be signed in to change notification settings

Interrollipsis/pbft

 
 

Repository files navigation

pbft

Implementation of the Peters Practical Byzantine Fault Tolerant Algorithm    

Web GUI

This project supports a web interface to b e a u t i f u l l y represent what's going on.

You'll get a overview over all the values the nodes measured.

image

You can also get insight which messages get send by which node to which node.

image

Code status

Java PBFT Node

Build Status Coverage Status Codacy Badge

API Server

Build Status Coverage Status Codacy Badge

Starting everything

You need Docker installed.

$ docker-compose build

Because some services need longer to start it is best to start them in the following order:

  1. Database and Database browser

    $ docker-compose up -d postgres postgres_browser
  2. The API

    $ docker-compose up -d api 
  3. Start the web GUI

    $ docker-compose up -d web
  4. Scale the nodes to use 4 instances

    $ docker-compose scale node=4
  5. Start the nodes

    $ docker-compose up -d node
  6. Stop & reset everything

    $ docker-compose down

Standart Ports and URLs

Assuming your docker is publishing it's ports on localhost.

Server URL
API https://localhost:80/
Database https://localhost:8080/phppgadmin/
Web GUI https://localhost:8000/src/

Links

The whole project: https://github.com/luckydonald/pbft

The Java node implementation: https://github.com/luckydonald/PBFT-JAVA

DB Struktur (for debugging and powering the web gui): https://editor.ponyorm.com/user/luckydonald/pbft pbft database structure

About

Implementation of the Practical Byzantine Fault Tolerant Algorithm

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 41.4%
  • JavaScript 22.6%
  • Python 22.5%
  • CSS 12.8%
  • Dockerfile 0.4%
  • Shell 0.2%
  • Makefile 0.1%