clvm_rs
v0.1.17
Published
Implementation of `clvm` for Chia Network's cryptocurrency
Readme
Rust implementation of clvm.
Python Wheel
Use maturin to build the python interface. First, install into current virtualenv with
$ pip install maturinBuild clvm_rs directly into the current virtualenv with
$ maturin develop --releaseOn 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-sdistor
$ 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-packThen build with
$ wasm-pack build --releaseTESTS
In order to run the unit tests, run:
cargo testFuzzing
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.pyTo get started, run:
cargo fuzz run fuzz_run_program --jobs=32 -- -rss_limit_mb=4096But with whatever number of jobs works best for you.
If you find issues in clvm_rs please see the Bug Bounty program.
