| Crates.io | clvmr |
| lib.rs | clvmr |
| version | 0.16.3 |
| created_at | 2022-02-01 21:08:11.445743+00 |
| updated_at | 2026-01-08 17:37:04.643309+00 |
| description | Implementation of `clvm` for Chia Network's cryptocurrency |
| homepage | https://github.com/Chia-Network/clvm_rs/ |
| repository | https://github.com/Chia-Network/clvm_rs/ |
| max_upload_size | |
| id | 525393 |
| size | 6,909,488 |
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.
In order to run the unit tests, run:
cargo test
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.
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
Make sure you have cargo-workspaces installed:
cargo install cargo-workspaces
To bump the versions of all relevant crates:
cargo ws version --force "**" --all --no-git-commit
Select "minor update" if there has not been any incompatible API changes, otherwise "major update".