mirror of
https://github.com/status-im/c-kzg-4844.git
synced 2025-01-26 18:09:25 +00:00
Matthew Keil
2642595e39
Reorganize/Clean-Up Node Bindings (#189)
* refactor(node-bindings): create src/lib/test folders * feat(node-bindings): update bundle/publish commands * refactor(node-bindings): remove unused files and dependencies * refactor(node-bindings): move fixtures to __fixtures__ * fix(node-bindings): revert format of fixture json file * fix(node-bindings): prettierignore and gitignore * feat(node-bindings): add bindings package * fix(node-bindings): fix test setup path * fix(node-bindings): remove post-build copy action in bindings.gyp * fix(node-bindings): package.json keys * Update contributors --------- Co-authored-by: George Kadianakis <desnacked@riseup.net>
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
Languages
Nim
42.9%
C
26.4%
Rust
7.2%
Java
6.1%
C#
3.8%
Other
13.6%