69f6155d75
* Convert argument types to bytes * Update java bindings * Update python bindings * Update node.js bindings * Update c# bindings * Fix java binding compile issues * Fix incorrect memcpy in nodejs bindings * Fix bug (called the wrong func) * Fix issues with java bindings * Fix issues with node.js bindings * Remove unnecessary wrapped funcs for c# * Rename struct member to bytes * Use goto out for callocs * Fix nit * Make un-exported funcs static * Fix python bindings * Check commitment length in python bindings * Update python error message * Steal good ideas from #37 * Fix tests.py which didn't get copied over * Convert remaining a[] to *a * Add missing Py_DECREF * Bytes only rust (#1) * Make interface bytes only * Fix benches * Avoid newtypes for kzg types * Fix benches again * Make fields private * tidy * Address review comments * Fix one small thing in rust bindings * Use ckzg types where possible * Remove null terminator from domain bytes in rust * Update rust binding docs * Use BYTES_PER_* where applicable * Add extra check for calloc Co-authored-by: Pawan Dhananjay <pawandhananjay@gmail.com> |
||
---|---|---|
.. | ||
gradle/wrapper | ||
src | ||
.gitignore | ||
Makefile | ||
README.md | ||
build.gradle | ||
c_kzg_4844_jni.c | ||
c_kzg_4844_jni.h | ||
gradlew | ||
gradlew.bat | ||
settings.gradle |
README.md
Java binding
Build shared library
Prerequisites
- Follow the instructions in the README.md to build blst.
JAVA_HOME
environment variable is set 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.