Getting Started

PETAce-Verse

Requirements

SystemToolchain
LinuxClang++ (>= 5.0) or GNU G++ (>= 5.5), CMake (>= 3.15)
Required dependencyTested versionUse
PETAce-Solo0.4.0Cryptography primitives
PETAce-Network0.4.0Network communication protocols
Optional dependencyTested versionUse
GoogleTest1.12.1For running tests
Google Logging0.4.0For running benchmarks
TCLAP1.2.2For running benchmarks

Building PETAce-Verse

We assume that all commands presented below are executed in the root directory of PETAce-Verse.

To build PETAce-Verse library (optionally with test and example):

cmake -S . -B build -DVERSE_BUILD_TEST=ON -DVERSE_BUILD_EXAMPLE=ON
cmake --build build

Output binaries can be found in build/lib/ and build/bin/ directories.

Compile OptionsValuesDefaultDescription
CMAKE_BUILD_TYPERelease/DebugReleaseDebug mode decreases run-time performance.
VERSE_BUILD_SHARED_LIBSON/OFFOFFBuild a shared library if set to ON.
VERSE_BUILD_EXAMPLEON/OFFONBuild C++ example if set to ON.
VERSE_BUILD_BENCHON/OFFONBuild C++ benchmark if set to ON.
VERSE_BUILD_TESTON/OFFONBuild C++ test if set to ON.
VERSE_BUILD_DEPSON/OFFONDownload and build unmet dependencies if set to ON.

Here we give a simple example to run protocols in PETAce-Verse.

To run Party A

./build/bin/verse_example 127.0.0.1 8899 127.0.0.1 8890 0

To run Party B

./build/bin/verse_example 127.0.0.1 8890 127.0.0.1 8899 1

We have also prepared a series of performance test cases for PETAce-Verse.

To run Party A

./build/bin/verse_bench -p 0 --log_path ./verse0.log

To run Party B

./build/bin/verse_bench -p 1 --log_path ./verse1.log

You can also use ./build/bin/verse_bench -h to learn more details.