This repository contains implementations of the ETF consensus mechanism and a substrate node that uses it.
Use the following command to build the node without launching it:
cargo build --release
Docker
To build the Docker image, navigate to the root directory and run one of the following commands, depending on your target architecture:
For AMD64 architecture:
docker build -f Dockerfile.amd64 -t etf:amd64 .
For ARM64 architecture:
docker build -f Dockerfile.arm64 -t etf:arm64 .
Unit Tests
cargo test
E2E Tests
cargo test --features e2e
Benchmarks
Build with benchmarks using:
cargo build --release --features runtime-benchmarks
and run them with:
# list all benchmarks
./target/release/node benchmark pallet --chain dev --pallet "*" --extrinsic "*" --repeat 0
# benchmark the etf pallet
./target/release/node benchmark pallet \
--chain dev \
--wasm-execution=compiled \
--pallet pallet_etf \
--extrinsic "*" \
--steps 50 \
--repeat 20 \
--output /pallets/etf/src/weight.rs