Minimal 4844 version of c-kzg
Go to file
George Kadianakis 088b062d36
Simplify g1_mul() and make it look like g2_mul() (#179)
2023-03-07 07:54:38 -07:00
.github/workflows Add C# wrapper & YAML tests (#46) 2023-03-06 15:46:00 -06:00
bindings Node binding argument and return type updates (#170) 2023-03-06 19:28:30 -06:00
blst@ca03e11a3f Upgrade blst & remove sha256 patch (#85) 2023-01-25 20:07:15 +00: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 Simplify g1_mul() and make it look like g2_mul() (#179) 2023-03-07 07:54:38 -07:00
tests Replace old tests with new yaml tests (#169) 2023-03-03 11:28:48 +02:00
.gitignore Add c_kzg_calloc function (#130) 2023-02-12 21:29:29 +00:00
.gitmodules Upgrade blst & remove sha256 patch (#85) 2023-01-25 20:07:15 +00:00
LICENSE Initial commit 2021-02-01 20:15:45 +00:00
README.md Add bindings to readme (#154) 2023-02-23 17:53:08 +02:00
go.mod Move go.mod & go.sum to repo root (#88) 2023-01-26 22:42:56 +00:00
go.sum Move go.mod & go.sum to repo root (#88) 2023-01-26 22:42:56 +00:00

README.md

C-KZG-4844

This is a minimal library for EIP-4844 that implements the Polynomial Commitments API. It was originally a stripped-down copy of C-KZG, but it has been heavily modified since then.

Interface functions

There are functions for KZG operations:

  • blob_to_kzg_commitment
  • compute_kzg_proof
  • compute_blob_kzg_proof
  • verify_kzg_proof
  • verify_blob_kzg_proof
  • verify_blob_kzg_proof_batch

There are functions for loading/freeing the trusted setup:

  • load_trusted_setup
  • load_trusted_setup_file
  • free_trusted_setup

Bindings

There are bindings for the following languages:

Language Link
C# README
Go README
Java README
Node.js README
Python README
Rust README

Installation

Initialize the blst submodule:

git submodule update --init

Build the blst library:

cd src
make blst

Build/test the C-KZG-4844 library:

cd src
make