5 releases (2 stable)
| new 2026.3.0 | Mar 9, 2026 |
|---|---|
| 2026.2.0 | Feb 5, 2026 |
| 0.0.65 | Jan 14, 2026 |
| 0.0.64 | Dec 20, 2025 |
| 0.0.63 | Oct 31, 2025 |
#12 in #participant
10MB
205K
SLoC
commonware-reshare
Reshare a threshold secret over an epoched log.
Setup
To run this example, you must first install Rust and mprocs.
Usage (Trusted Setup)
First, set up the network participants:
# Default configuration (4 active participants, 2 inactive participants)
cargo run --bin commonware-reshare setup
# With configuration:
cargo run --bin commonware-reshare setup [--num-peers <n>] [--num-bootstrappers <n>] [--datadir <path>] [--base-port <port>]
Then, run the mprocs command emitted by the setup procedure to start all participants simultaneously.
Usage (DKG Setup)
First, set up the network participants:
# Default configuration (4 active participants, 2 inactive participants)
cargo run --bin commonware-reshare setup --with-dkg
# With configuration:
cargo run --bin commonware-reshare setup --with-dkg [--num-peers <n>] [--num-bootstrappers <n>] [--datadir <path>] [--base-port <port>]
Then, run the first mprocs command emitted by the setup procedure to start all participants simultaneously, kicking off the initial DKG.
Once the DKG is complete amongst all participants, shut down the participants and run the second mprocs command emitted by the setup procedure
to start all participants again, this time with the distributed threshold secret established.
Troubleshooting
If you see an error like unable to append to journal: Runtime(BlobOpenFailed("engine-consensus", "00000000000000ee", Os { code: 24, kind: Uncategorized, message: "Too many open files" })),
you may need to increase the maximum number of open files. You can do this by running:
ulimit -n 65536
MacOS defaults to 256 open files, which is too low for the default settings (where 1 journal file is maintained per recent view).
Dependencies
~111MB
~2.5M SLoC