From efd49718dfbb6c1f329e72026770b07a67348168 Mon Sep 17 00:00:00 2001 From: Determinant Date: Mon, 16 Jul 2018 04:13:57 -0400 Subject: init --- src/hotstuff_keygen.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/hotstuff_keygen.cpp (limited to 'src/hotstuff_keygen.cpp') diff --git a/src/hotstuff_keygen.cpp b/src/hotstuff_keygen.cpp new file mode 100644 index 0000000..7a7e615 --- /dev/null +++ b/src/hotstuff_keygen.cpp @@ -0,0 +1,33 @@ +#include +#include "salticidae/util.h" +#include "crypto.h" + +using salticidae::Config; +using hotstuff::privkey_bt; +using hotstuff::pubkey_bt; + +int main(int argc, char **argv) { + Config config("hotstuff.conf"); + privkey_bt priv_key; + auto opt_n = Config::OptValInt::create(1); + auto opt_algo = Config::OptValStr::create("secp256k1"); + config.add_opt("num", opt_n, Config::SET_VAL); + config.add_opt("algo", opt_algo, Config::SET_VAL); + config.parse(argc, argv); + auto &algo = opt_algo->get(); + if (algo == "secp256k1") + priv_key = new hotstuff::PrivKeySecp256k1(); + else + error(1, 0, "algo not supported"); + int n = opt_n->get(); + if (n < 1) + error(1, 0, "n must be >0"); + while (n--) + { + priv_key->from_rand(); + pubkey_bt pub_key = priv_key->get_pubkey(); + printf("pub:%s sec:%s\n", get_hex(*pub_key).c_str(), + get_hex(*priv_key).c_str()); + } + return 0; +} -- cgit v1.2.3