c-kzg-4844/bindings/rust
Pawan Dhananjay 2c151d7f7e
Rust bindings (#4)
* working build

* Move bindings.rs to root directory

* tidy build script

* Add initial rust safe bindings

* import fewer c stuff in bindings

* remove unnecessary blst definitions in bindings

* remove bindgen build dependency

* improve interface

* Remove more stuff from bindings

* Add a simple test

* Update error type

* Update verify_kzg_proof interface

* Return array instead of vec

* link with no-pie

* impl Send and Sync for KzgSettings; change mut pointers to const

* Remove no-pie linking

* Make FIELD_ELEMENTS_PER_BLOB a compile time variable

* Add load_trusted_setup method

* Cleanup

* Add failure case to bytes_to_bls_field

* Fix conditional compilation and ensure canonical blobs in test

* Add test vectors

* Remove blobk_commitment test case

* Change function signature

* Copy and delete instead of rename in build script

* Make consts public

* Add error conditions for invalid trusted setup

* Lowercase renamings

* Make blob public

* Add benchmarks

* Run test vectors only for mainnet spec

* Add README

* clippy

* Add rust CI checks

* actually add CI checks

* Fix CI

* Fix workflow again
2023-01-12 17:50:12 +00:00
..
benches Rust bindings (#4) 2023-01-12 17:50:12 +00:00
src Rust bindings (#4) 2023-01-12 17:50:12 +00:00
test_vectors Rust bindings (#4) 2023-01-12 17:50:12 +00:00
.gitignore Rust bindings (#4) 2023-01-12 17:50:12 +00:00
Cargo.lock Rust bindings (#4) 2023-01-12 17:50:12 +00:00
Cargo.toml Rust bindings (#4) 2023-01-12 17:50:12 +00:00
README.md Rust bindings (#4) 2023-01-12 17:50:12 +00:00
build.rs Rust bindings (#4) 2023-01-12 17:50:12 +00:00

README.md

Rust bindings

Generates the rust bindings for the c-kzg library.

Build

cargo build --release

Build with --features="minimal-spec" to set the FIELD_ELEMENTS_PER_BLOB compile time parameter to the pre-determined minimal spec value.

Test

cargo test --release

Benchmark

cargo bench