zhenfeizhang / c-kzg-4844

Minimal 4844 version of c-kzg

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Minimal 4844 version of c-kzg

License:Apache License 2.0


Languages

Language:C 49.0%Language:Java 11.6%Language:Rust 11.4%Language:Python 8.8%Language:TypeScript 4.7%Language:Go 4.6%Language:C# 3.8%Language:C++ 3.8%Language:Makefile 2.1%Language:JavaScript 0.1%Language:Dockerfile 0.1%