9fd22c93e5
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.21 to 4.5.23. - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.21...clap_complete-v4.5.23) --- updated-dependencies: - dependency-name: clap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
---|---|---|
.. | ||
src | ||
tests | ||
Cargo.toml | ||
README.md | ||
tests.rs |
README.md
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
)