frost-zcash-demo/coordinator/README.md

1.7 KiB

FROST Coordinator Demo

Overview of demos

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 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)