73 lines
1.7 KiB
Markdown
73 lines
1.7 KiB
Markdown
# FROST Coordinator Demo
|
|
|
|
[Overview of demos](https://github.com/ZcashFoundation/frost-zcash-demo/blob/main/README.md)
|
|
|
|
## Status ⚠
|
|
|
|
The Coordinator Demo is a WIP
|
|
|
|
## Usage
|
|
|
|
NOTE: This is for demo purposes only and should not be used in production.
|
|
|
|
You will need to have [Rust and Cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) installed.
|
|
|
|
To run:
|
|
1. Clone the repo. Run `git clone https://github.com/ZcashFoundation/frost-zcash-demo.git`
|
|
2. Run `cargo install`
|
|
3. Run `cargo run --bin coordinator`
|
|
|
|
### Step 1
|
|
|
|
The coordinator CLI will prompt for:
|
|
|
|
1. The public key package
|
|
2. The number of signers participating and their corresponding identifiers
|
|
|
|
### Communication round
|
|
|
|
Each participant will send their commitments
|
|
|
|
### Step 2
|
|
|
|
The coordinator CLI will prompt for:
|
|
|
|
1. A message
|
|
2. The commitments for each participant
|
|
|
|
The coordinator CLI will then use that data to generate:
|
|
|
|
1. Signing package
|
|
|
|
### Communication round
|
|
|
|
The signing package will be sent to all participants
|
|
The coordinator will receive each participant's signature shares
|
|
|
|
### Step 3
|
|
|
|
The coordinator CLI will prompt for:
|
|
|
|
1. Signature shares for ecah participant
|
|
|
|
The coordinator CLI will then use that data to generate:
|
|
|
|
1. The group signature
|
|
|
|
### Communication round
|
|
|
|
The group signature will then be sent to all participants
|
|
|
|
## Developer information
|
|
|
|
### Pre-commit checks
|
|
|
|
1. Run `cargo make all`
|
|
|
|
### Coverage
|
|
|
|
Test coverage checks are performed in the pipeline. This is configured here: `.github/workflows/coverage.yaml`
|
|
To run these locally:
|
|
1. Install coverage tool by running `cargo install cargo-llvm-cov`
|
|
2. Run `cargo make cov` (you may be asked if you want to install `llvm-tools-preview`, if so type `Y`)
|