NOTE: This is a research implementation and may contain security issues. Do not use this for production.
First, docker-compose will need to be installed if it has not been previously:
-
Install
Docker. (For Linux, seeManage Docker as a non-root user) to rundockerwithoutsudo.) -
Install
docker-compose.
Next, the image will need to be built (this will likely take a while)
$ docker-compose build adkg
You need to start a shell session in a container. The first run will take longer if the docker image hasn't already been built:
$ docker-compose run --rm adkg bash
Then, to test the adkg code locally, i.e., multiple thread in a single docker container, you need to run
$ pytest tests/test_adkg.py
To debug the code using vscode, first uncomment the following from Dockerfile
# RUN pip install debugpy
# ENTRYPOINT [ "python", "-m", "debugpy", "--listen", "0.0.0.0:5678", "--wait-for-client", "-m"]
Rebuild the docker images by runnning
docker-compose build adkg
Then debug by running the following command. Make sure to run the debugging in vscode after executing the following command.
docker-compose run -p 5678:5678 adkg pytest tests/test_adkg.py
-
Start a docker image by running
$docker-compose run --rm adkg bash -
Start the ADKG instances
$sh scripts/launch-tmuxlocal.sh apps/tutorial/adkg-tutorial.py conf/adkg/local
For remote deployment first build using
docker build -t adkg-remote . --build-arg BUILD=dev
- Use FFT for faster polynomial evaluation (including in exponents).
- Terminate the optrbc threads.
- Take reconstruction threshold and group as a public parameter.