https://github.com/hyperledger/indy-bls-wrapper-python
BLS signature support for Hyperledger Indy
https://github.com/hyperledger/indy-bls-wrapper-python
Last synced: 12 months ago
JSON representation
BLS signature support for Hyperledger Indy
- Host: GitHub
- URL: https://github.com/hyperledger/indy-bls-wrapper-python
- Owner: hyperledger
- License: apache-2.0
- Created: 2019-08-26T18:00:13.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-08-12T13:28:50.000Z (over 1 year ago)
- Last Synced: 2025-05-01T09:05:25.942Z (12 months ago)
- Language: Python
- Homepage:
- Size: 55.7 KB
- Stars: 3
- Watchers: 20
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# 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](https://neuromancer.sk/std/bn/bn254) (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).
[BLS signatures specification at the IETF]: https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature-05
[Hyperledger Indy BLS Signatures Rust]: https://github.com/hyperledger/indy-blssignatures-rs
[Hyperledger Indy Node]: https://github.com/hyperledger/indy-node
## Installation
The package may be installed by using:
```sh
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](https://github.com/hyperledger/indy-bls-wrapper-python/blob/main/CONTRIBUTING.md) and submit your PRs. We enforce [developer certificate of origin](https://developercertificate.org/) (DCO) commit signing. See guidance [here](https://github.com/apps/dco).
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](https://github.com/hyperledger/indy-bls-wrapper-python/blob/main/LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0).