Gottfried Herold b4eb8d003e
Documentation updates (#208)
* Documentation update

* Documentation for division. Note that the doc says that the behaviour for a/0 is unspecified. Feel free to change.

* Add some Documentation. This fixes item #3 in https://hackmd.io/@6iQDuIePQjyYBqDChYw_jg/ByXAsi21h

* Moved documentation remark for doxygen @remark to in-code remark. The remark is not useful for API-documentation (it refers to a macro that is not part of the API).

* More verbose comment for bit_reversal_permutation.

* doxygen comment parameter name did not match variable name. Fix this.

* Remove parameter n from doxygen comment of compute_challenge, as there is no such argument.
This fixes #4 in https://hackmd.io/@6iQDuIePQjyYBqDChYw_jg/ByXAsi21h

* In compute_kzg_proof_impl, document the role of the m variable that is used to indicate whether the evaluation point is one of the interpolation points.

* Run  `make format`

* Improve multiline comments from `make format` in middle of the code

---------

Co-authored-by: George Kadianakis <desnacked@riseup.net>
2023-03-14 11:40:06 +02:00
2023-03-13 12:45:02 +02:00
2023-03-10 11:32:13 -06:00
2023-03-14 11:40:06 +02:00
2023-03-09 12:44:31 +02:00
2023-03-10 11:32:13 -06:00
2023-01-26 22:42:56 +00:00
2023-01-26 22:42:56 +00:00
2021-02-01 20:15:45 +00:00
2023-03-08 07:04:30 -06:00

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
Nim 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
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%