frost-zcash-demo/participant
Conrado Gouvea 0a9e830fa0
Add initial implementation of socket communications to the demo (phase 1) - Coordinator (#89)
* move commitments to step_1
* halfway through making things async; need to fix handling input/output
* async step_1
* async step_3
* started SocketComms
* SocketComms compiling
* Finished SocketComms; untested
* fixed existing tests
* update frost-rerandomized; skip tests if redpallas enabled
* ci: use nightly, and overall cleanup
* point frost to 1.0.0-rc.0
2023-11-21 14:56:29 +00:00
..
src Add initial implementation of socket communications to the demo (phase 1) - Coordinator (#89) 2023-11-21 14:56:29 +00:00
tests Add initial implementation of socket communications to the demo (phase 1) - Coordinator (#89) 2023-11-21 14:56:29 +00:00
Cargo.toml Add initial implementation of socket communications to the demo (phase 1) - Coordinator (#89) 2023-11-21 14:56:29 +00:00
README.md Update READMEs (#54) (#71) 2023-08-21 19:01:16 -03:00
tests.rs Add Participant project (#15) 2023-06-15 13:23:37 -03:00

README.md

FROST Participant Demo

Overview of demos

Status ⚠

The Participant 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 participant

Round 1

The participant CLI will prompt for:

  1. Your secret share or key package

The participant CLI will then use that data to generate:

  1. Signing nonces
  2. Signing commitments

Communication round

The signing commitments will be sent to the coordinator The coordinator will then send the signing package

Round 2

The participant CLI will prompt for:

  1. Signing package

The participant CLI will then use that data to generate:

  1. Signature share

Communication round

The signature share will be sent to the coordinator The coordinator will then send the Group signature

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)