mirror of
https://github.com/status-im/c-kzg-4844.git
synced 2025-02-15 11:36:21 +00:00
* Replace g1 points with g1 lagrange points * Swap out validate_kzg_g1 with blst funcs * Update minimal preset too * Fix java & nodejs bindings * Put variables in smaller scope * Update some comments * Remove FFTSettings (#2) * Fix issue when expanding roots of unity * Fix formatting * Revert back to using intermediate array * Add missing c_kzg_free * Fix some nits * Replace free_kzg_settings with free_trusted_setup * Add parens to NUM_ELEMENTS Co-authored-by: George Kadianakis <desnacked@riseup.net> * Move memcpy to the end * Revert "Move memcpy to the end" This reverts commit 5331c7feadc92e4b5dd5d4e7512e4be563d7f386. * Add comment about free_trusted_setup * Move check before alloc * Add remark * Delete unnecessary blank line * Fix asn's nits * Update comment for roots_of_unity in header Co-authored-by: Gottfried Herold <GottfriedHerold@users.noreply.github.com> * Fix formatting * Update comment about max_scale Co-authored-by: Gottfried Herold <GottfriedHerold@users.noreply.github.com> --------- Co-authored-by: Suphanat Chunhapanya <haxx.pop@gmail.com> Co-authored-by: George Kadianakis <desnacked@riseup.net> Co-authored-by: Gottfried Herold <GottfriedHerold@users.noreply.github.com>
Java binding
Build shared library
Prerequisites
- Build blst by running
make blst
in the library source directory. - Set
JAVA_HOME
environment variable to a JDK with aninclude
folder containing ajni.h
file.
Build
make build
This will install the shared library in src/main/resources/ethereum/ckzg4844/lib
with a folder
structure
and name according to the preset selected (mainnet or minimal) and your OS.
All variables which could be passed to the make
command and the defaults can be found in
the Makefile.
Test
make test
Benchmark
JMH is used for benchmarking. See CKZG4844JNIBenchmark.java for more information.
make benchmark
Library
The library which uses this binding and publishes a package to a public maven repo is jc-kzg-4844.