This LUNES implementation is used to simulate dissemination protocols in a temporal graph
Run make inside this folder to compile the binary: blockchain.
First of all to create a corpus for the simulator run ./make-corpus <#NODES> <#EDGES> <#MAX_DIAMETER>.
For example ./make-corpus 1000 4 8 will create a graph with 1000 nodes, 4000 edges and a maximum diameter minor or equal than 8
To start the run use run Bash script: this will take care of sourcing and setting all global variables.
This script is used to start the SImulator MAnager (SIMA) and the binary temporary network with all necessary arguments.
USAGE: ./run --nodes|-n #SMH [--debug|-d DEBUGCMD]
#SMH total number of nodes to simulate
[DEBUGCMD] used for injecting *trace commands (optional)
run file contains the most important paramters for the simulation, manageable by the user in order to carry out different kind of tests:
DISSEMINATIONdefines which gossip protocol is used during the simulation (0 = Probabilistic Broadcast, 1 = Fixed Probability, 4 = Fixed Fanout, 5 = Dandelion++, 6 = Dandelion with recovery mechanism, 7 = Degree Dependent Gossip, 8 = Dandelion)MAX_TTLdefines the time to live for messages, and consequently also the duration of an epochEND_CLOCKdefines the total number of discrete time-steps to occur in the simulation
Other paramters are associated with specific dissemination algorithms