WadeBarnes / indy-bls-wrapper-python

BLS signature support for Hyperledger Indy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

indy-bls-wrapper-python

A Python wrapper for Hyperledger Indy BLS Signatures Rust as used by Hyperledger Indy Node.

This package implements a version of the BLS signature scheme. The implementation doesn't match up with the BLS signatures specification at the IETF. It uses the BN254 curve defined here (sometimes called BN254N), and should not to be confused with the one used in Ethereum.

This package is NOT recommended for new projects. It would be preferable to use a BLS signatures implementation based on the IETF draft, on a curve with a stronger security estimation (such as BLS12-381).

Installation

The package may be installed by using:

pip install indy_bls

No additional dependencies are required for installation. Python 3.6 and higher are currently supported.

Building

The primary build dependency is the Rust crate: Hyperledger Indy BLS Signatures Rust, which requires a Rust compiler toolchain. Python packaging requires setuptools and wheel.

Contributing

Pull requests are welcome! Please read our contributions guide and submit your PRs. We enforce developer certificate of origin (DCO) commit signing. See guidance here.

We also welcome issues submitted about problems you encounter in using indy_bls.

Acknowledgements

This code is based on the original Ursa Python wrapper contributed by Cam Parra.

License

Licensed under the Apache License, Version 2.0. (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0).

About

BLS signature support for Hyperledger Indy

License:Apache License 2.0


Languages

Language:Python 87.5%Language:Shell 7.9%Language:Dockerfile 4.6%