Skip to main content

Installation

Requirements

  • Python 3.12+ (Python 3.12 or 3.13 recommended)
  • pip package manager

Install from PyPI

The simplest way to install DotRing:

pip install dot-ring

Verify Installation

import dot_ring
print(dot_ring.__version__) # 0.1.2

Test that all components work:

from dot_ring import Bandersnatch, IETF_VRF

# Generate a test proof
secret_key = bytes(32) # 32 zero bytes for testing
proof = IETF_VRF[Bandersnatch].prove(b'test', secret_key, b'')
print("Installation successful!")

Dependencies

DotRing automatically installs these dependencies:

PackagePurpose
numpyNumerical operations
sympySymbolic mathematics
gmpy2Fast arbitrary-precision arithmetic
py-eccElliptic curve operations

Optional: Development Installation

For contributing or running tests:

git clone https://github.com/chainscore/dot-ring.git
cd dot-ring
pip install -e ".[dev]"

Run tests:

pytest tests/

Platform Support

PlatformArchitectureStatus
Linuxx86_64✅ Supported
macOSx86_64✅ Supported
macOSARM64 (Apple Silicon)✅ Supported
Windowsx86_64⚠️ Experimental

Troubleshooting

ImportError: blst module not found

The blst bindings are included in the wheel. If you see this error:

pip install --force-reinstall --no-cache-dir dot-ring

gmpy2 installation fails

On macOS, install GMP first:

brew install gmp
pip install dot-ring

On Ubuntu/Debian:

sudo apt-get install libgmp-dev
pip install dot-ring