1 个不稳定版本

0.0.2 2020年2月13日

#27#bls-signatures

BSD-3-Clause OR MIT OR Apache-2.0

19KB
378

bls-eth for Rust

这是一个 bls 的包装库,具有 BLS_ETH=1

如何构建 libbls384_256.a

bls-eth-go-binary/bls/lib 复制或根据 readme.md 构建它。

新闻

支持新的 eth2.0 功能

bls-eth-rust eth2.0 规范名称
SecretKey::sign 签名
PublicKey::verify 验证
Signature::aggregate 聚合
Signature::fast_aggregate_verify 快速聚合验证
Signature::aggregate_verify_no_check 聚合验证

检查函数

  • verify_signature_order ; make deserialize 检查顺序的正确性
  • Signature::is_valid_order ; 检查顺序的正确性
  • verify_publickey_order ; make deserialize 检查顺序的正确性
  • PublicKey::is_valid_order ; 检查顺序的正确性
  • are_all_msg_different ; 检查所有消息是否彼此不同

如何测试

env RUSTFLAGS="-L<directory of libbls384_256.a>" cargo test

例如,在 Linux 上,

mkdir work
cd work
git clone https://github.com/herumi/bls-eth-go-binary
git clone https://github.com/herumi/bls-eth-rust
cd bls-eth-rust
env RUSTFLAGS="-L../bls-eth-go-binary/bls/lib/linux/amd64/" cargo test

如何运行基准测试

env RUSTFLAGS="-L../bls-eth-go-binary/bls/lib/linux/amd64/" cargo bench

许可证

修改后的新 BSD 许可证 http://opensource.org/licenses/BSD-3-Clause

作者

MITSUNARI Shigeo([email protected])

依赖项

~8–19MB
~250K SLoC