Skip to content

enriquefynn/ethereum-partitioning-experiments

Repository files navigation

ethereum-partitioning-experiments

Tools Used in "Challenges and pitfalls of partitioning blockchains"

Building

Download and install Boost and Metis

Make sure you have boost with Graph Library Support (BGL)

mkdir ./build
cd build
cmake ..

If you cmake cannot find METIS, or you installed it in another location do cmake -DMETISROOTDIR=<location> ..

Testing

cd ./build
./bin/unit_tests

Running

Download calls.tar.gz from https://dslab.inf.usi.ch/ethereum_trace/

Save and uncompress the files.

To run the test, go inside ./build:

./bin/buildGraph <calls.txt> <config.txt>

results are saved in /tmp/edge_cut_evolution_partitions_<params>

Observing results

Feed the experiment to one of the scripts in ./scripts folder, for example:

SAVEGRAPH=true ./plotEdgeCutEvolution.py /tmp/edge_cut_evolution_<params>.txt

A pdf with the same name as the experiment will be created, or omit the SAVEGRAPH variable for a python visualization.