Co-authored-by: Dave Kaj <davidkajpust@informal.systems> Co-authored-by: Ethan Buchman <ethan@coinculture.info>
52 lines
1.3 KiB
Markdown
52 lines
1.3 KiB
Markdown
# quartz CLI
|
|
|
|
A CLI tool to manage Quartz applications. The `quartz` CLI tool is designed to streamline the development and deployment
|
|
process of Quartz applications.
|
|
|
|
It provides helpful information about each command and its options. To get a list of all available subcommands and their
|
|
descriptions, use the `--help` flag:
|
|
|
|
```shell
|
|
$ quartz --help
|
|
|
|
Quartz 0.1.0
|
|
A CLI tool to manage Quartz applications
|
|
|
|
USAGE:
|
|
quartz [SUBCOMMAND]
|
|
|
|
OPTIONS:
|
|
-h, --help Print help information
|
|
-V, --version Print version information
|
|
|
|
SUBCOMMANDS:
|
|
init Create base Quartz app directory from template
|
|
build Build the contract and enclave binaries
|
|
enclave Enclave subcommads to configure Gramine, build, sign, and start the enclave binary
|
|
contract Contract subcommads to build, deploy the WASM binary to the blockchain and call instantiate
|
|
handshake Run the handshake between the contract and enclave
|
|
```
|
|
|
|
## Installation
|
|
|
|
To install Quartz, ensure you have Rust and Cargo installed. Then run:
|
|
|
|
```shell
|
|
cargo install quartz-rs
|
|
```
|
|
|
|
## Usage
|
|
|
|
See the [getting started](/docs/getting_started.md).
|
|
|
|
Run `quartz init` to copy the example app into a new directory. Quartz apps are
|
|
organized like:
|
|
|
|
```shell
|
|
myapp/
|
|
├── contracts/
|
|
├── enclave/
|
|
├── frontend/
|
|
└── README.md
|
|
```
|