frost-zcash-demo/coordinator
natalie 0c528929c5
Improve consistency of testing across projects (#76)
* Update participant tests to use DKG format (#37)

Update Makefile to not run --all-features in tests
cli tests were not touched

* Update tests in trusted dealer (#37)

* Refactor test files structure to be consistent across projects (#37)

* Add cross project integration test (#37)

* Remove empty test files (#37)

* Remove reference to old test (#37)

* print entire identifier instead of converting back to integer

* Remove commented code (#37)

* Add signature verification step to participant demo (#78)

* Add verification step to participant demo (#56)

* Add cli test to participant (#56)

Clean up some comments and prints

---------

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
2023-09-27 13:27:01 -03:00
..
src Improve consistency of testing across projects (#76) 2023-09-27 13:27:01 -03:00
Cargo.toml add support for redpallas 2023-07-21 22:39:05 -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)