Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Bulletproofs in Python

PyPI version PyPI - Format PyPI - Status ci

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)

Table of built distributions (wheels) for pybulletproofs 0.1.0.dev7
File Interpreter ABI Platform
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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page