#miden #client #cli

bin+lib miden-cli

CLI binary application that facilitates interaction with the Miden rollup

3 releases (breaking)

0.6.0 Nov 8, 2024
0.5.0 Aug 27, 2024
0.4.0 Jul 6, 2024

#954 in Magic Beans

Download history 33/week @ 2024-07-29 170/week @ 2024-08-26 39/week @ 2024-09-16 11/week @ 2024-09-23 7/week @ 2024-09-30 4/week @ 2024-10-07 9/week @ 2024-10-28 134/week @ 2024-11-04 38/week @ 2024-11-11

181 downloads per month

MIT license

1MB
17K SLoC

Miden client CLI

This binary allows the user to interact with the Miden rollup via a simple command-line interface (CLI). It's a wrapper around the Miden client library exposing its functionality in order to create accounts, create and consume notes, all executed and proved using the Miden VM.

Usage

Before you can use the Miden client, you'll need to make sure you have both Rust and sqlite3 installed. Miden client requires rust version 1.82 or higher.

Running miden-client's CLI

You can either build from source with:

cargo build --release --features "testing, concurrent"

The testing and concurrent features are enabled to speed up account creation (for testing purposes) and optimize transaction execution and proving times respectively.

Once the binary is built, you can find it on ./target/release/miden.

Or you can install the CLI from crates.io with:

cargo install --features "testing, concurrent" miden-cli

These actions can also be executed when inside the repository via the Makefile with make build or make install.

Using the CLI

To have a fully-functional client CLI, you would need to set it up first. You can accomplish that with:

miden init

This would generate the miden-client.toml file, which contains useful information for the client like RPC provider's URL and database path.

After this, your client should be set and ready to use. Get the available commands with:

miden
# or
miden --help

The first time that you sync your client (miden sync) a new file will be generated based on the configurations set on miden-client.toml. This file is the database of the client.

License

This project is MIT licensed.

Dependencies

~71–105MB
~2M SLoC