Melodot is designed as a data availability layer for GB-level data throughput, featuring:
- Utilizes KZG commitments to ensure data is correctly encoded.
- Incorporates "farmers" so the system doesn't rely on the "minimal honest sampler" assumption.
- Distributively produced, achieving complete decentralization.
- Distributive data storage for availability.
- Validators act more like light clients, making it easier for sharding.
Melodot is actively under development; modules and interfaces are subject to significant changes. More details can be found in the documentation.
Install Rust:
curl https://sh.rustup.rs -sSf | sh
You will also need to install the following packages:
mac
brew install cmake pkg-config openssl git llvm
Known Issue: Currently, it is not possible to compile on Mac. We will address this issue later.
Linux
sudo apt install cmake pkg-config libssl-dev git clang libclang-dev protobuf-compiler
More:Melodot is based on Substrate, for more information please go to Substrate.
- Compile the melodot-node
make build-default
- Compile the light node, which may automatically install the sqlite database:
make build-light
- Compile the farmer node, which may automatically install the sqlite database:
make build-farmer
You can start a development chain with:
make run-dev
To launch a light node:
make run-light-dev
You can also start a farmer node:
make run-farmer
Use the following command to run all tests:
make test
You can learn more detailed testing methods from the testing guide , light client testing guide and farmer testing guide.
Start a Docker container:
./scripts/docker_run.sh
You can learn more about Docker examples from the testing guide and light client testing guide.