Browse Source

Added public zkSNARK parameter generation utility.

pull/145/head
Sean Bowe 8 years ago
parent
commit
5975bf1c32
  1. 1
      .gitignore
  2. 7
      src/Makefile.zcash.include
  3. 21
      src/zcash/GenerateParams.cpp

1
.gitignore

@ -10,6 +10,7 @@ src/test/test_bitcoin
src/qt/test/test_bitcoin-qt
# zerocash tests and utilities
src/zcash/GenerateParams
src/zerocash/GenerateParamsForFiles
src/zerocash/tests/merkleTest
src/zerocash/tests/utilTest

7
src/Makefile.zcash.include

@ -1,14 +1,15 @@
bin_PROGRAMS += \
zerocash/GenerateParamsForFiles \
zcash/GenerateParams \
zerocash/tests/utilTest \
zerocash/tests/zerocashTest \
zerocash/tests/test_zerocash_pour_ppzksnark
# tool for generating our public parameters
zerocash_GenerateParamsForFiles_SOURCES = zerocash/GenerateParamsForFiles.cpp
zerocash_GenerateParamsForFiles_LDADD = \
zcash_GenerateParams_SOURCES = zcash/GenerateParams.cpp
zcash_GenerateParams_LDADD = \
$(BOOST_LIBS) \
$(LIBZEROCASH) \
$(LIBBITCOIN_UTIL) \
$(LIBBITCOIN_CRYPTO) \
$(LIBZEROCASH_LIBS)

21
src/zcash/GenerateParams.cpp

@ -0,0 +1,21 @@
#include "zcash/JoinSplit.hpp"
#include <iostream>
int main(int argc, char **argv)
{
if(argc != 3) {
std::cerr << "Usage: " << argv[0] << " provingKeyFileName verificationKeyFileName" << std::endl;
return 1;
}
std::string pkFile = argv[1];
std::string vkFile = argv[2];
auto p = ZCJoinSplit::Generate();
p->saveProvingKey(pkFile);
p->saveVerifyingKey(vkFile);
return 0;
}
Loading…
Cancel
Save