Skip to main content

tools for working with chialisp language; compiler, repl, python and wasm bindings

Project description

clvm_tools_rs

This is a second-hand port of chia's clvm tools to rust via the work of ChiaMineJP porting to typescript. This would have been a lot harder to get to where it is without prior work mapping out the types of various semi-dynamic things (thanks, ChiaMineJP).

Some reasons for doing this are:

  • Chia switched the clvm implementation to rust: clvm_rs, and this code may both pick up speed and track clvm better being in the same language.

  • I wrote a new compiler with a simpler, less intricate structure that should be easier to improve and verify in the future in ocaml: ochialisp.

  • Also it's faster even in this unoptimized form.

All acceptance tests i've brought over so far work, and more are being added. As of now, I'm not aware of anything that shouldn't be authentic when running these command line tools from clvm_tools in their equivalents in this repository

  • opc

  • opd

  • run

  • brun

  • repl

argparse was ported to javascript and I believe I have faithfully reproduced it as it is used in cmds, so command line parsing should work similarly in all three versions.

The directory structure is expected to be:

src/classic  <-- any ported code with heritage pointing back to
                 the original chia repo.
                
src/compiler <-- a newer compiler (ochialisp) with a simpler
                 structure.  Select new style compilation by
                 including a `(include *standard-cl-21*)`
                 form in your toplevel `mod` form.

Mac M1

Use cargo build --no-default-features due to differences in how mac m1 and other platforms handle python extensions.

Use with chia-blockchain

# Activate your venv, then
$ maturin develop --release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clvm_tools_rs-0.1.19.tar.gz (5.0 MB view hashes)

Uploaded Source

Built Distributions

clvm_tools_rs-0.1.19-cp37-abi3-win_amd64.whl (823.6 kB view hashes)

Uploaded CPython 3.7+ Windows x86-64

clvm_tools_rs-0.1.19-cp37-abi3-musllinux_1_1_x86_64.whl (911.9 kB view hashes)

Uploaded CPython 3.7+ musllinux: musl 1.1+ x86-64

clvm_tools_rs-0.1.19-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (800.6 kB view hashes)

Uploaded CPython 3.7+ manylinux: glibc 2.17+ ARM64

clvm_tools_rs-0.1.19-cp37-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (868.4 kB view hashes)

Uploaded CPython 3.7+ manylinux: glibc 2.12+ x86-64

clvm_tools_rs-0.1.19-cp37-abi3-macosx_11_0_arm64.whl (739.2 kB view hashes)

Uploaded CPython 3.7+ macOS 11.0+ ARM64

clvm_tools_rs-0.1.19-cp37-abi3-macosx_10_7_x86_64.whl (807.7 kB view hashes)

Uploaded CPython 3.7+ macOS 10.7+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page