Skip to content

Wittgenstein simulator extended for simulation of Harmony, Solana and Ouroboros blockchains. Entire application is containerized in docker.

Notifications You must be signed in to change notification settings

JurajHolub/wittgenstein

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Extended simulator Wittgenstein

This project is result of my master's thesis. It extends simulator Wittgenstein with three Proof-of-Stake consensus protocols: Harmony, Solana and Ouroboros. Old Wittgenstein simulator is just a part of project and it is containerized in Docker, so it should be easier to install it.

Prerequisities

  • docker-compose
  • Python3 with the following packages
    • requests
    • pandas
    • matplotlib
    • seaborn
    • pymongo

Architecture

Simulator is client-server application:

  • simulator-server - Simulator Wittgenstein.
  • simulator-client - Python script that executes various scenarios of simulation and analyze results.

Build

Simulator (simulator-server) is containerized with docker-compose:

  • simulator: Java Spring server that runs Wittgenstein simulation.
  • mongodb: Database for continuous simulation recording.

Set up simulator server (it may take a few minutes):

  1. docker-compose build.
  2. docker-compose up

Run specific simulation scenario from simulator-client:

  1. e.g. python simulation-client/client.py --harmony --scenario03
  2. View simulation results in simulation-client/client/output
  3. For more information, go to the simulation-client/, where is an detail README about simulation experiments and how to run them.

About

Wittgenstein simulator extended for simulation of Harmony, Solana and Ouroboros blockchains. Entire application is containerized in docker.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 92.7%
  • Python 6.6%
  • Other 0.7%