This repository contains the following:
NOTE: All packages and tools in this repository are highly experimental. Their only purpose is to run cloud-based simulations.
There are essentially two simulations/measurements: 1) Measure latency for data availability proofs for a freshly proposed "block" (defaults to 15 random samples in parallel). 2) Measure time for a fresh client to sync n "blocks" (trees) in parallel from a cluster of nodes that have already seen and validated the block (via DA proofs).
TODO short intro; see readme in terraform.
Note: Below steps are not necessary to follow for running the experiments. Test files will be generated on the machine running terraform without installing the plugin.
You can build the example plugin by running make build
. You can then install it into your local IPFS repo by running make install
.
Plugins need to be built against the correct version of go-ipfs. This package generally tracks the latest go-ipfs release but if you need to build against a different version, please set the IPFS_VERSION
environment variable.
You can set IPFS_VERSION
to:
vX.Y.Z
to build against that version of IPFS.$commit
or $branch
to build against a specific go-ipfs commit or branch.
go get -trimpath github.com/ipfs/go-ipfs/cmd/ipfs@COMMIT
/absolute/path/to/source
to build against a specific go-ipfs checkout.To update the go-ipfs, run:
> make go.mod IPFS_VERSION=version
make sure you have matplotlib, and pandas installed
> pip3 install matplatlib && pip3 install pandas
then use the python script to create a pdf of the results.
> python3 generate_report.py /path/to/results/measurements
MIT