celestiaorg / ipld-plugin-experiments

MIT License
5 stars 4 forks source link

ipld-plugin-experiments

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).

Run the experiments

TODO short intro; see readme in terraform.

Building and Installing the ipld-plugin

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:

To update the go-ipfs, run:

> make go.mod IPFS_VERSION=version

Generating a Report

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

License

MIT