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
2022-11-04 11:44:57 -07:00
2023-01-12 17:50:12 +00:00
2021-02-01 20:15:45 +00:00
2023-01-24 18:23:42 +00:00

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:

  • blob_to_kzg_commitment
  • compute_kzg_proof
  • compute_aggregate_kzg_proof
  • verify_kzg_proof
  • verify_aggregate_kzg_proof

We also provide functions for loading/freeing the trusted setup:

  • load_trusted_setup
  • load_trusted_setup_file
  • free_trusted_setup

Installation

Initialize the blst submodule:

git submodule update --init

Build blst:

cd src
make blst

Build the C-KZG code:

cd src
make
Description
Minimal 4844 version of c-kzg
Readme Apache-2.0
Languages
Nim 42.9%
C 26.4%
Rust 7.2%
Java 6.1%
C# 3.8%
Other 13.6%