frost-zcash-demo/coordinator
natalie 4925183519
Add socket comms for Participant demo (#131)
* Add CLI comms to participant demo (#92)

* Update Coordinator unit tests after comms changes (#92)

* Update integration tests with participant cli comms (#92)

* Add socket comms to Participant demo (#92)

Remove group signature verification from participant demo

* Update participant cli test (#92)

* fix redpallas compile issue

* Update participant/src/args.rs

---------

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
2024-01-30 16:07:32 -03:00
..
src Add socket comms for Participant demo (#131) 2024-01-30 16:07:32 -03:00
Cargo.toml Add socket comms for Participant demo (#131) 2024-01-30 16:07:32 -03:00
README.md Update READMEs (#54) (#71) 2023-08-21 19:01:16 -03:00
tests.rs Create Coordinator CLI (#59) 2023-07-20 11:13:14 -03:00

README.md

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)