1.9 KiB
1.9 KiB
FROST DKG Demo
Status ⚠
The DKG 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:
- Clone the repo. Run
git clone https://github.com/ZcashFoundation/frost-zcash-demo.git
- Run
cargo install
- Run
cargo run --bin dkg
Round 1 send package
The DKG demo will prompt for:
- Minimum number of signers (>= 2) i.e. The threshold number of signers for the secret sharing scheme.
- Maximum number of signers i.e. the number of shares to generate
- An identifier
The dkg CLI will then use that data to generate:
- A round 1 package to send to all other signers
Round 2 send packages
The DKG demo will prompt for:
- Identifiers of all signers
- Their corresponding round 1 package
The dkg CLI will then use that data to generate:
- A round 2 package to send to other users
Round 2 receive packages
The DKG demo will prompt for:
- Identifiers of all signers
- Their corresponding round 2 package
The dkg CLI will then use that data to generate:
- A key package
- A public key package
Using the output
To generate a key package the participant requires:
- The signer's identifier
- The signer's secret share
- The signer's public key
- The public signing key that represents the entire group
Developer information
Pre-commit checks
- 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:
- Install coverage tool by running
cargo install cargo-llvm-cov
- Run
cargo make cov
(you may be asked if you want to installllvm-tools-preview
, if so typeY
)