This implementation is meant to run entirely on an NVIDIA GPU.The code is a highly parallelized implementation of the diagram below, and heavily rely on ICICLE. For implementation details please refer to our companion blog post
NOTE: NVCC, Rust are prerequisites for building. Python 3.10 and up for test data generation.
- ICICLE library supports BLS12-381 as default curve, that is the curve in use for danksharding
- Go into git dir init the submodule and update
- Generate test vectors
- To build and run fast-danksharding using cargo
git submodule init
git submodule update
python3 kzg_data_availability/tests.py
cargo run --release
You'll find a release ready binary at target/release/
.
Join our Discord Server and find us on the icicle channel. We will be happy to work together to support your use case and talk features, bugs and design.
ICICLE is distributed under the terms of the MIT License.
See LICENSE-MIT for details.