Miden Transaction
This crate contains tool for creating, executing, and proving Miden rollup 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 = new;
let executed_transaction = executor.execute_transaction;
With the transaction execution done, it is then possible to create a proof:
let prover = new;
let proven_transaction = prover.prove;
And to verify a proof:
let verifier = new;
verifier.verify;
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.