frost-zcash-demo/coordinator
natalie 07ea1a1f66
Fix coordinator units tests (#144)
* Add extra pipeline jobs (#135)

Add test for ed25519 with sockets

* Fix coordinator unit tests (#135)

* Remove unnecessary prints (#135)

* Clean up (#135)

* Clean up after merge (#135)

* pin to older nightly version

* Update default values for Args (#135)

* Clean up (#135)

* Fix conflict in workflows (#135)

* Remove pipeline job for removed sockets feature (#135)

* Use stable instead of nightly

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>

---------

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
2024-03-21 10:08:18 -03:00
..
src Fix coordinator units tests (#144) 2024-03-21 10:08:18 -03:00
Cargo.toml Bump clap from 4.5.1 to 4.5.2 (#163) 2024-03-14 18:31:22 -03:00
README.md
tests.rs

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)