Skip to content

kostekIV/bchain-streamlet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build & Run

The project was tested on linux (to be concrete on ubuntu 19.04), but should run also on unix like operating systems.

Build

mkdir build
cd build
cmake ..
make

Running tests

In build directory after building the project just run

./tests

Running scenario

Given scenario file under scenario_path and streamlet binary file, running:

./streamlet false scenario_path > forest_state # false to disable logs

will run the scenario and output the forest state of the honest nodes at the end of scenario to the file forest_state. To visualize the graph we recommend the program dot from Graphviz.

dot -Tpng < forest_state > forest_state.png

Example scenarios are located in scenarios folder.

Creating your own scenario

To create new scenario to run just create yaml file with following entries

scenario-name: "Test Config"  # Just name given to the scenario
rounds: 10                    # Scenario will run for #rounds
honest-nodes: 10              # Number of honest nodes following Streamlet protocol
dummy-nodes: 10               # Number of dummy nodes which do nothing
dishonest-nodes:              # Number of nodes trying to make mischief in the protocol
scheduler-type: "simple"      # one of ["simple", "partitioning"], simple will deliver messages from last round. Partitionig will partition the network and for #synchronize-every-n keep two subnetworks separated
service-type: "repeating"     # for now only option is "repeating"
repeat-n-times: 12            # Optional, default to 1, number of times the same node will be the epoch leader.
synchronize-every-n: 10       # Optional, default to 1, number of rounds between each synchronization time in partitioning scheduler.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published