4个版本

新版本 0.4.1 2024年8月13日
0.4.0 2024年8月11日
0.3.4 2024年8月5日
0.3.2 2024年8月2日

#246 in 神奇豆子

Download history 201/week @ 2024-07-28 217/week @ 2024-08-04 1263/week @ 2024-08-11

1,681每月下载次数

MIT许可证

620KB
3K SLoC

Rust Eth KZG

概述

什么是

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

为什么

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

构建源代码

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

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

构建所有内容

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

./scripts/compile.sh

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

cargo build

基准测试

可以通过调用以下方式运行基准测试

cargo bench

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

许可证

根据以下之一许可和分发

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

Apache许可证版本2.0(LICENSE-APACHEv2或http://www.apache.org/licenses/LICENSE-2.0),任选其一。除非按照这些条款,否则这些文件不得复制、修改或分发。

依赖项

~7MB
~204K SLoC