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

#31 in #ops

Download history 17/week @ 2024-12-31 48/week @ 2025-01-07 6/week @ 2025-01-14 4/week @ 2025-01-21 34/week @ 2025-02-04 20/week @ 2025-02-11 25/week @ 2025-02-18 159/week @ 2025-02-25 190/week @ 2025-03-04 50/week @ 2025-03-11 26/week @ 2025-03-18 127/week @ 2025-03-25 185/week @ 2025-04-01 39/week @ 2025-04-08 9/week @ 2025-04-15

367 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

~12MB
~190K SLoC