klvmr

Crates.ioklvmr
lib.rsklvmr
version
sourcesrc
created_at2023-07-22 12:22:50.060648
updated_at2025-02-05 11:31:34.064575
descriptionImplementation of `klvm` for Chik Network's cryptocurrency
homepagehttps://github.com/Chik-Network/klvm_rs/
repositoryhttps://github.com/Chik-Network/klvm_rs/
max_upload_size
id923176
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Chik-Network (Chik-Network)

documentation

README

Rust implementation of klvm.

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 klvm_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 klvm_rs please use our bug bounty program.

Build Wheel

The klvm_rs wheel has python bindings for the rust implementation of klvm.

Use maturin to build the python interface. First, install into current virtualenv with

$ pip install maturin

While in the wheel directory, build klvm_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
Commit count: 592

cargo fmt