23 releases (8 breaking)
0.9.0 | Sep 20, 2024 |
---|---|
0.8.0 | Jul 15, 2024 |
0.7.0 | May 1, 2024 |
0.6.1 | Mar 12, 2024 |
0.1.20 | Feb 1, 2022 |
#2 in #chia
10,169 downloads per month
Used in 27 crates
(25 directly)
735KB
8K
SLoC
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
Dependencies
~10MB
~273K SLoC