#commitment #kzg #cryptography #ethereum #compatible #scheme #eth

eip7594

本库提供了实现EIP-7594所需密码学的实现

5个不稳定版本

0.3.0 2024年5月21日
0.2.6 2024年5月21日
0.2.5 2024年5月21日
0.2.1 2024年5月21日
0.1.0 2024年5月21日

#10 in #kzg

Download history 359/week @ 2024-05-17 39/week @ 2024-05-24 1/week @ 2024-06-07 1/week @ 2024-06-14

每月55次下载

MIT许可证

1MB
823 代码行

Rust Eth KZG

概述

是什么

一个与以太坊区块链中PeerDAS使用的KZG承诺方案兼容的密码学库。

为什么

本库中实现的密码学是实现以太坊版本数据可用性抽样(DAS)所需的前提条件。该库以模块化的方式实现,因此也可以使用底层的多项式承诺方案,用于不同的目的。

构建源代码

本库是用Rust编写的,并为C, C#, node.js, golang, Java和Nim提供了绑定。这些绑定可以在bindings文件夹中找到。这些绑定公开了一个与以太坊所需API兼容的API。

如果您只想修改密码学,则需要Rust编译器。对于绑定,应检查相应语言的README文件,以了解额外的要求。

构建所有内容

要构建包括绑定所需的所有工件,可以运行

./scripts/compile.sh

要仅构建原生Rust代码,可以运行

cargo build

基准测试

可以通过调用来运行基准测试

cargo bench

注意:这将基准测试底层Rust库。它不会考虑(如果有)通过特定语言调用库时的任何差异。这的一个例子是从Go语言调用外语言时的CGO开销;在我们的情况下,这个开销与实际进行的计算相比可以忽略不计。

许可证

许可和分发受以下之一约束

MIT许可证:LICENSE-MIT 或 http://opensource.org/licenses/MIT

Apache许可证,版本2.0,(LICENSE-APACHEv2 或 http://www.apache.org/licenses/LICENSE-2.0),由您选择。这些文件只能根据这些条款进行复制、修改或分发。

依赖关系

~8.5MB
~231K SLoC