/c-kzg-4844

Minimal 4844 version of c-kzg

Primary LanguageCApache License 2.0Apache-2.0

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