-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathREADME.txt
More file actions
74 lines (56 loc) · 2.58 KB
/
README.txt
File metadata and controls
74 lines (56 loc) · 2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
NOTE: A simplified version of this codebase is available at
https://github.com/pepper-project/pequin
Development is ongoing to improve the usability and documentation of
both releases, but new users may find it easier to start with the
version above.
This source code is released under a BSD-style license. See LICENSE
for more details.
I. Installation and first steps
1. Please run
git submodule init
git submodule update
to pull in the submodules this project relies on.
2. This codebase depends on several external libraries. Please
see the INSTALLING.md file for more information on setting up
dependencies.
3. See compiler/buffetfsm/README.md for instructions on building
the patched Clang/LLVM libraries we need for Buffet's C-to-C
compiler.
4. We recommend using the libsnark backend. If you've pulled in the
submodules (Step 1, above), you've already got a local copy. Finish
preparing it as follows:
cd libsnark
./prepare-depends.sh
make lib STATIC=1 NO_PROCPS=1
and make sure that USE_LIBSNARK=1 is set in the pepper/flags file.
5. Now that everything is set up, you're ready to run some verified
computations! Please have a look at GETTINGSTARTED.md for a quick
overview of the process.
6. If you want to run tinyram programs, make sure you've pulled in
the submodules as described above, then cd `tinyram/doc`. If you have
pandoc and LaTeX available, `make` will generate useful documentation.
The README.md file in that directory has instructions on how to run
tinyram computations.
II. Configuration
- To select different verifiable computation protocols (Zaatar,
Ginger, Pinocchio, etc.), please see pepper/common/utility.h.
Note that when USE_LIBSNARK=1 is set in pepper/flags, the
correct backend is selected automatically.
- The compiler generates two types of constraints depending on the
value of FRAMEWORK in the makefile
- FRAMEWORK should be set to ZAATAR for using Zaatar's and
Pinocchio's verification machinery. This is the default
setting, and the correct one to use with the libsnark,
Pinocchio, and Zaatar backends.
- FRAMEWORK should be set to GINGER to use ginger's verification
machinery.
III. What is new in this version?
(1) Updated code which interfaces with libsnark. Our fork of
libsnark is now identical to the latest available version from
https://github.com/scipr-lab/libsnark, except for a
configuration option set in the Makefile.
(2) Minor bugfix.
IV. Contact
Please contact
pepper@pepper-project.org
for any questions and comments.