Crates.io | clvm_rs |
lib.rs | clvm_rs |
version | 0.1.17 |
source | src |
created_at | 2021-07-30 22:19:11.000167 |
updated_at | 2022-01-11 19:23:34.227893 |
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 | 429435 |
size | 3,475,021 |
Rust implementation of clvm.
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"
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
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 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.