Minimal 4844 version of c-kzg
Go to file
Ramana Kumar 4101648253
Update python test for encoding checks
We ensure we are below the modulus by just using a zero final byte for
each field element encoding.

In the test, I do not understand why changing the final (zero) byte
causes verification to succeed instead of failing. But this is why the
change is now to the first byte.
2022-12-11 20:23:50 +00:00
.github/workflows Java binding - load library based on a preset 2022-12-06 12:58:56 +00:00
bindings Update python test for encoding checks 2022-12-11 20:23:50 +00:00
blst@6382d67c72 Add blst as submodule 2022-11-03 23:15:50 -07:00
inc Use BYTES_PER_FIELD_ELEMENT 2022-11-04 11:44:57 -07:00
lib Insert lib/ directory and update Readme 2021-02-02 11:36:36 +00:00
src Add checks that field elements are canonical 2022-12-11 20:23:48 +00:00
.gitignore adding gradle, makefile and tests 2022-11-24 17:16:15 +00:00
.gitmodules Patch blst submodule sha 2022-11-04 00:13:02 -07:00
LICENSE Initial commit 2021-02-01 20:15:45 +00:00
README.md Basic setup instructions in README 2022-11-04 16:56:16 -07:00
blst_sha.patch Patch blst submodule sha 2022-11-04 00:13:02 -07:00

README.md

C-KZG-4844: A minimal library for EIP-4844 Polynomial Commitments

This is a copy of C-KZG stripped down to support the Polynomial Commitments API:

  • compute_aggregate_kzg_proof
  • verify_aggregate_kzg_proof
  • blob_to_kzg_commitment
  • verify_kzg_proof

We also provide load_trusted_setup and free_trusted_setup to load the trusted setup data from a file into an object that can be passed to the API functions, and functions for converting commitments/proofs/points to/from bytes.

Installation

Install the blst submodule

git submodule update --init

Build blst

cd src
make blst

Build the C-KZG code

cd src
make