Skip to main content

Implementation of `clvm` for Chia Network's cryptocurrency

Project description

Rust implementation of clvm.

The cargo workspace includes an rlib crate, for use with rust or other applications, and a python wheel.

The python wheel is in wheel. The npm package is in wasm.

Tests

In order to run the unit tests, run:

cargo test

Fuzzing

The fuzzing infrastructure for clvm_rs uses cargo-fuzz.

Documentation for setting up fuzzing in rust can be found here.

To generate an initial corpus (for the run_program fuzzer), run:

cd tools
cargo run generate-fuzz-corpus

To get started, run:

cargo fuzz run fuzz_run_program --jobs=32 -- -rss_limit_mb=4096

But with whatever number of jobs works best for you.

If you find issues in clvm_rs please use our bug bounty program.

Build Wheel

The clvm_rs wheel has python bindings for the rust implementation of clvm.

Use maturin to build the python interface. First, install into current virtualenv with

$ pip install maturin

While in the wheel directory, build clvm_rs into the current virtualenv with

$ maturin develop --release

On UNIX-based platforms, you may get a speed boost on sha256 operations by building with OpenSSL.

$ maturin develop --release --features=openssl

To build the wheel, do

$ maturin build --release

or

$ maturin build --release --features=openssl

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clvm_rs-0.9.0.tar.gz (796.8 kB view hashes)

Uploaded Source

Built Distributions

clvm_rs-0.9.0-cp38-abi3-win_amd64.whl (368.7 kB view hashes)

Uploaded CPython 3.8+ Windows x86-64

clvm_rs-0.9.0-cp38-abi3-manylinux_2_28_x86_64.whl (507.2 kB view hashes)

Uploaded CPython 3.8+ manylinux: glibc 2.28+ x86-64

clvm_rs-0.9.0-cp38-abi3-manylinux_2_28_aarch64.whl (499.8 kB view hashes)

Uploaded CPython 3.8+ manylinux: glibc 2.28+ ARM64

clvm_rs-0.9.0-cp38-abi3-macosx_11_0_arm64.whl (442.5 kB view hashes)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

clvm_rs-0.9.0-cp38-abi3-macosx_10_14_x86_64.whl (471.1 kB view hashes)

Uploaded CPython 3.8+ macOS 10.14+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page