Skip to content
(Towards) Scalable Threshold Crypto: BLS threshold signatures with millions of signers and a scalable Distributed Key Generation (and VSS) protocol
C++ Python Shell CMake C
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build on Linux

Step zero is to clone this repo and cd to the right directory:

cd <wherever-you-cloned-libpolycrypto>

First, install deps using:


Then, set up the environment. This will store the built code in ~/builds/polycrypto/:

. scripts/linux/ release can also use debug, relwithdebug or trace as an argument for

To build:

..tests, benchmarks and any other binaries are automatically added to PATH but can also be found in

cd ~/builds/polycrypto/master/release/libpolycrypto/bin/

(or replace release with debug or whatever you used in

Useful scripts

There's a bunch of useful scripts in scripts/linux/:

  • plot-*.py for generating plots
  •,, for viewing CSV data in the terminal
  • for generating public parameters for the VSS/DKG code

Git submodules

This is just for reference purposes. No need to execute these. To fetch the submodules, just do:

git submodule init
git submodule update

For historical purposes, (i.e., don't execute these), when I set up the submodules, I did:

cd depends/
git submodule add git://
git submodule add git://
git submodule add git://
git submodule add

To update your submodules with changes from their upstream github repos, do:

git submodule foreach git pull origin master
You can’t perform that action at this time.