Skip to main content

Implementation of `clvm` for Chia Network's cryptocurrency

Project description

Rust implementation of clvm.

Python Wheel

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

$ pip install maturin

Build clvm_rs directly 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 --cargo-extra-args="--features=openssl"

To build the wheel, do

$ maturin build --release --no-sdist

or

$ maturin build --release --no-sdist --cargo-extra-args="--features=openssl"

WASM

Use wasm-pack to build the wasm pkg file used with npm. Install it with:

$ cargo install wasm-pack

Then build with

$ wasm-pack build --release

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 fuzz
mkdir -p corpus/fuzz_run_program/
python gen_corpus.py

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 see the Bug Bounty program.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

clvm_rs-0.1.17-cp37-abi3-win_amd64.whl (272.2 kB view hashes)

Uploaded CPython 3.7+ Windows x86-64

clvm_rs-0.1.17-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (307.6 kB view hashes)

Uploaded CPython 3.7+ manylinux: glibc 2.17+ ARM64

clvm_rs-0.1.17-cp37-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (337.7 kB view hashes)

Uploaded CPython 3.7+ manylinux: glibc 2.12+ x86-64

clvm_rs-0.1.17-cp37-abi3-macosx_11_0_arm64.whl (286.2 kB view hashes)

Uploaded CPython 3.7+ macOS 11.0+ ARM64

clvm_rs-0.1.17-cp37-abi3-macosx_10_7_x86_64.whl (314.6 kB view hashes)

Uploaded CPython 3.7+ macOS 10.7+ 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