#blockchain #transaction-execution #miden #transaction

no-std miden-tx

Miden blockchain transaction executor and prover

34 releases (12 breaking)

Uses new Rust 2024

new 0.13.2 Jan 22, 2026
0.12.4 Nov 26, 2025
0.10.0 Jul 9, 2025
0.8.1 Mar 26, 2025
0.1.0 Mar 5, 2024

#214 in Magic Beans

Download history 642/week @ 2025-10-02 333/week @ 2025-10-09 411/week @ 2025-10-16 241/week @ 2025-10-23 227/week @ 2025-10-30 1631/week @ 2025-11-06 1077/week @ 2025-11-13 813/week @ 2025-11-20 2125/week @ 2025-11-27 1148/week @ 2025-12-04 386/week @ 2025-12-11 319/week @ 2025-12-18 174/week @ 2025-12-25 347/week @ 2026-01-01 464/week @ 2026-01-08 430/week @ 2026-01-15

1,432 downloads per month
Used in 28 crates (17 directly)

MIT license

2MB
34K SLoC

Miden Transaction

This crate contains tool for creating, executing, and proving Miden blockchain transaction.

Usage

This crate exposes a few components to compile, run, and prove transactions.

The first requirement is to have a DataStore implementation. DataStore objects are responsible to load the data needed by the transactions executor, especially the account's code, the reference block data, and the note's inputs.

let store = DataStore:new();

Once a store is available, a TransactionExecutor object can be used to execute a transaction. Consuming a zero or more notes, and possibly calling some of the account's code.

let executor = TransactionExecutor::new(store);
let executed_transaction = executor.execute_transaction(account_id, block_ref, notes, tx_args);

With the transaction execution done, it is then possible to create a proof:

let prover = LocalTransactionProver::new(ProvingOptions::default());
let proven_transaction = prover.prove(executed_transaction);

And to verify a proof:

let verifier = TransactionVerifier::new(SECURITY_LEVEL);
verifier.verify(proven_transaction);

Features

Features Description
std Enable usage of Rust's std, use --no-default-features for no-std support.
concurrent Enables concurrent code to speed up runtime execution.

License

This project is MIT licensed.

Dependencies

~45MB
~747K SLoC