🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

clvm-rs

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

clvm-rs

Implementation of `clvm` for Chia Network's cryptocurrency

0.14.0
Maintainers
1

Rust implementation of clvm.

GitHub Coverage Status Build Crate Build Wheels

PyPI Crates.io

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

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts