c-kzg-4844/bindings/java
Justin Traglia 03b90ef63f
Use Bytes48 for commitments/proofs (#86)
* Start to use bytes48 type

* Update java bindings

* Update variable names

* Update csharp bindings

* Update node.js bindings

* Update python bindings

* Fix mistake in python bindings

* Add new functions

* Fix nit in java bindings

* Update variable names in java bindings

* Compare to point at infinity

* Update bytes_to_bls_field doc

* Add todo

* Do key validation

* Remove bytes_to_g1

* Fix bug & add remark

* Fix memcmp mistake

* Fix nit in nodejs bindings

* Fix another nit

* Update nodejs parameter names

* Remove to_proof() and to_commitment()

* Fix bug
2023-01-26 14:53:30 +00:00
..
gradle/wrapper update gradle wrapper 2022-12-10 21:06:11 +02:00
src Use Bytes48 for commitments/proofs (#86) 2023-01-26 14:53:30 +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 Use Bytes48 for commitments/proofs (#86) 2023-01-26 14:53:30 +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.