Starts a network running MultiChain 2.0 alpha 3, creates and runs an Apache JMeter test in which the nodes publish fixed size data to streams (onchain/offchain), and measures the disk space the chain occupies on each node over time.
Plots actual measurements of disk space as well as their approximate continuation and predicts approximate disk usage given a transaction matrix and transactoin size over time.
See the slides for more context on MultiChain and this project as well as results on toy data.
Requires Python 3 and a number of packages, see runTest.py for more details. Docker and Apache JMeter must be installed. Please make sure you have enough free disk space to accommodate the nodes and the chain data they store.
Set the parameters in params.py before running the test. To start, run python runTest.py
.
Run plotDiskUsage to visualize test data. Set parameters in predictDiskUsage.py and run the file to learn coefficients from past test data.
The MultiChain network is based on Kunstmaan's implementation, for license see here.
Thanks goes to Dr. Arne Scherrer for mentorship.