7 releases (breaking)

0.13.0 Apr 3, 2025
0.12.0 Mar 30, 2025
0.11.0 Mar 7, 2025
0.10.0 Feb 25, 2025
0.7.0 Nov 25, 2024

#33 in #predicate

Download history 13/week @ 2025-12-04 9/week @ 2025-12-11 12/week @ 2025-12-18 15/week @ 2025-12-25 15/week @ 2026-01-01 14/week @ 2026-01-15 13/week @ 2026-01-22 29/week @ 2026-01-29 7/week @ 2026-02-05 26/week @ 2026-02-19 19/week @ 2026-02-26 13/week @ 2026-03-05 24/week @ 2026-03-12 19/week @ 2026-03-19

82 downloads per month
Used in 11 crates (via essential-check)

Apache-2.0

265KB
6.5K SLoC

The essential VM implementation.

Reading State

The primary entrypoint for this crate is the [Vm type][Vm].

The Vm allows for executing arbitrary [essential ASM][asm] ops. The primary use-case is executing Programs that make up a Predicate's program graph during Solution validation.

Executing Ops

There are two primary methods available for executing operations:

Each have slightly different performance implications, so be sure to read the docs before selecting a method.

Execution Future

The Vm::exec_* functions all return Futures that not only yield on async operations, but yield based on a user-specified gas limit too. See the ExecFuture docs for further details on the implementation.


essential-vm

Crates.io Documentation license Build Status

The Essential VM.

Dependencies

~9–13MB
~196K SLoC