c-kzg-4844/bindings/java
Justin Traglia 8907fbcfe2
Expose `compute_kzg_proof` (#80)
* Expose computeKzgProof

* Revert changes to bytes_to/from_bls_field

* Update comments

* Revert changes to bytes_from_bls_field

* Revert change to parameter name

* Add compute_kzg_proof to readme

* Refactor in support of asn's PR

* Clean up a little

* Fix param name doc

* Introduce Bytes32 type

* Update bindings

* Replaces bytes with b to match spec
2023-01-24 18:23:42 +00:00
..
gradle/wrapper update gradle wrapper 2022-12-10 21:06:11 +02:00
src [Java binding] Check there are `count` commitments present (#68) 2023-01-17 17:47:46 +00:00
.gitignore Add hprof files to gitignore 2022-12-06 13:14:37 +00:00
Makefile Bytes-only interface (#62) 2023-01-16 20:05:23 +00:00
README.md [Java binding] Add test vectors for `verifyKzgProof` 2022-12-15 09:38:41 +02:00
build.gradle [Java binding] Add test vectors for `verifyKzgProof` 2022-12-15 09:38:41 +02:00
c_kzg_4844_jni.c Expose `compute_kzg_proof` (#80) 2023-01-24 18:23:42 +00:00
c_kzg_4844_jni.h [Java binding] Load trusted setup from params + custom exception 2022-12-16 13:42:53 +02:00
gradlew update gradle wrapper 2022-12-10 21:06:11 +02:00
gradlew.bat update gradle wrapper 2022-12-10 21:06:11 +02:00
settings.gradle adding gradle, makefile and tests 2022-11-24 17:16:15 +00:00

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 an include folder containing a jni.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.