This release is a pre-release and may not be stable for production use.
Bulletproofs in Python
WARNING: Work-in-progress. Only meant for experimental purposes.
We use pyo3 to wrap the bulletproof implementation by dalek-cryptography in python.
Quickstart
Install latest development version from PyPI.
pip install pybulletproofs
To test the python library, run the following proof and verification.
from pybulletproofs import zkrp_prove, zkrp_verify
proof1, comm1, _ = zkrp_prove(2022, 32)
proof2, comm2, _ = zkrp_prove(2023, 32)
assert zkrp_verify(proof1, comm1)
assert !zkrp_verify(proof2, comm1)
Development
Dependencies
- Python 3.8 and up
- Rust 1.62.0-nightly (60e50fc1c 2022-04-04) and up
Building
We first create a python virtual environment, activate it, and install
maturin into the virtual environment.
$ python -m venv .env
$ source .env/bin/activate
$ pip install maturin
To compile the Rust implementation into a python library, run the following code snippet.
$ maturin init
$ maturin develop
Alternatively, use the Dockerfile.
Metadata
Release files for pybulletproofs 0.1.0.dev7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pybulletproofs-0.1.0_dev7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.17+ x86-64 | Details |
| pybulletproofs-0.1.0_dev7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.17+ x86-64 | Details |
| pybulletproofs-0.1.0_dev7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.8 | CPython 3.8 | Linux glibc 2.17+ x86-64 | Details |
Total release size: 3.4 MB
Release files / pybulletproofs-0.1.0_dev7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pybulletproofs-0.1.0_dev7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
94d33f298cddd4d8e62d374b7681bfbb28dc9a2fce3c46871ab03017e2fd395d
|
|
BLAKE2b-256 checksum How to use checksums |
1696a8f2f52d43a7f7d0d6b005c2930edc120cb4ec98c33b6c302bcf977e0d36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/0.12.17
|
Release files / pybulletproofs-0.1.0_dev7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pybulletproofs-0.1.0_dev7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
77a5c28d134cdc0527c2a36a89ba5a5184542af07e2cd459671d8b972fbaec19
|
|
BLAKE2b-256 checksum How to use checksums |
c0fa7bb55864753d1f866f0f50c2ae311202be61c7b2795d8f7644f57a581ee9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/0.12.17
|
Release files / pybulletproofs-0.1.0_dev7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pybulletproofs-0.1.0_dev7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
80a64fc53b6a875aa12bc7081dd72f90170bdaa4e51caa0630b627995fef04db
|
|
BLAKE2b-256 checksum How to use checksums |
2a9e3c1573f2b3147213e4c8d2bad86fb7fca270ad7a48cb4d5aca85917a3687
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/0.12.17
|