本文整理汇总了C++中SecretKey::getStrKeyPublic方法的典型用法代码示例。如果您正苦于以下问题:C++ SecretKey::getStrKeyPublic方法的具体用法?C++ SecretKey::getStrKeyPublic怎么用?C++ SecretKey::getStrKeyPublic使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SecretKey
的用法示例。
在下文中一共展示了SecretKey::getStrKeyPublic方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: cfgFile
int
main(int argc, char* const* argv)
{
using namespace stellar;
sodium_init();
Logging::init();
std::string cfgFile("stellar-core.cfg");
std::string command;
el::Level logLevel = el::Level::Info;
std::vector<char*> rest;
optional<bool> forceSCP = nullptr;
bool newDB = false;
bool getInfo = false;
std::vector<std::string> newHistories;
std::vector<std::string> metrics;
int opt;
while ((opt = getopt_long_only(argc, argv, "", stellar_core_options,
nullptr)) != -1)
{
switch (opt)
{
case OPT_CMD:
command = optarg;
rest.insert(rest.begin(), argv + optind, argv + argc);
break;
case OPT_CONF:
cfgFile = std::string(optarg);
break;
case OPT_CONVERTID:
StrKeyUtils::logKey(std::cout, std::string(optarg));
return 0;
case OPT_DUMPXDR:
dumpxdr(std::string(optarg));
return 0;
case OPT_FORCESCP:
forceSCP = make_optional<bool>(optarg == nullptr ||
string(optarg) == "true");
break;
case OPT_FUZZ:
fuzz(std::string(optarg), logLevel, metrics);
return 0;
case OPT_GENFUZZ:
genfuzz(std::string(optarg));
return 0;
case OPT_GENSEED:
{
SecretKey key = SecretKey::random();
std::cout << "Secret seed: " << key.getStrKeySeed() << std::endl;
std::cout << "Public: " << key.getStrKeyPublic() << std::endl;
return 0;
}
case OPT_INFO:
getInfo = true;
break;
case OPT_LOGLEVEL:
logLevel = Logging::getLLfromString(std::string(optarg));
break;
case OPT_METRIC:
metrics.push_back(std::string(optarg));
break;
case OPT_NEWDB:
newDB = true;
break;
case OPT_NEWHIST:
newHistories.push_back(std::string(optarg));
break;
case OPT_TEST:
{
rest.push_back(*argv);
rest.insert(++rest.begin(), argv + optind, argv + argc);
return test(static_cast<int>(rest.size()), &rest[0], logLevel,
metrics);
}
case OPT_VERSION:
std::cout << STELLAR_CORE_VERSION;
return 0;
default:
usage(0);
return 0;
}
}
Config cfg;
try
{
// yes you really have to do this 3 times
Logging::setLogLevel(logLevel, nullptr);
if (cfgFile == "-" || fs::exists(cfgFile))
{
cfg.load(cfgFile);
}
else
{
std::string s;
s = "No config file ";
s += cfgFile + " found";
//.........这里部分代码省略.........
示例2: cfgFile
//.........这里部分代码省略.........
case OPT_DUMPXDR:
dumpxdr(std::string(optarg));
return 0;
case OPT_PRINTTXN:
printtxn(std::string(optarg), base64);
return 0;
case OPT_SIGNTXN:
signtxn(std::string(optarg), base64);
return 0;
case OPT_SEC2PUB:
priv2pub();
return 0;
case OPT_NETID:
signtxn_network_id = optarg;
return 0;
case OPT_LOADXDR:
loadXdrBucket = std::string(optarg);
break;
case OPT_FORCESCP:
forceSCP = make_optional<bool>(optarg == nullptr ||
string(optarg) == "true");
break;
case OPT_FUZZ:
fuzz(std::string(optarg), logLevel, metrics);
return 0;
case OPT_GENFUZZ:
genfuzz(std::string(optarg));
return 0;
case OPT_GENSEED:
{
SecretKey key = SecretKey::random();
std::cout << "Secret seed: " << key.getStrKeySeed().value
<< std::endl;
std::cout << "Public: " << key.getStrKeyPublic() << std::endl;
return 0;
}
case OPT_INFERQUORUM:
inferQuorum = true;
break;
case OPT_CHECKQUORUM:
checkQuorum = true;
break;
case OPT_GRAPHQUORUM:
graphQuorum = true;
break;
case OPT_OFFLINEINFO:
getOfflineInfo = true;
break;
case OPT_OUTPUT_FILE:
outputFile = optarg;
break;
case OPT_LOGLEVEL:
logLevel = Logging::getLLfromString(std::string(optarg));
break;
case OPT_METRIC:
metrics.push_back(std::string(optarg));
break;
case OPT_NEWDB:
newDB = true;
break;
case OPT_NEWHIST:
newHistories.push_back(std::string(optarg));
break;
case OPT_REPORT_LAST_HISTORY_CHECKPOINT:
doReportLastHistoryCheckpoint = true;
break;
示例3: invalid_argument
void
Config::parseNodeID(std::string configStr, PublicKey& retKey, SecretKey& sKey,
bool isSeed)
{
if (configStr.size() < 2)
throw std::invalid_argument("invalid key");
// check if configStr is a PublicKey or a common name
if (configStr[0] == '$')
{
if (isSeed)
{
throw std::invalid_argument("aliases only store public keys");
}
if (!resolveNodeID(configStr, retKey))
{
std::stringstream msg;
msg << "unknown key in config: " << configStr;
throw std::invalid_argument(msg.str());
}
}
else
{
std::istringstream iss(configStr);
std::string nodestr;
iss >> nodestr;
if (isSeed)
{
sKey = SecretKey::fromStrKeySeed(nodestr);
retKey = sKey.getPublicKey();
nodestr = sKey.getStrKeyPublic();
}
else
{
retKey = PubKeyUtils::fromStrKey(nodestr);
}
if (iss)
{ // get any common name they have added
std::string commonName;
iss >> commonName;
if (commonName.size())
{
std::string cName = "$";
cName += commonName;
if (resolveNodeID(cName, retKey))
{
throw std::invalid_argument("name already used");
}
if (!VALIDATOR_NAMES.emplace(std::make_pair(nodestr,
commonName)).second)
{
std::stringstream msg;
msg << "naming node twice: " << commonName;
throw std::invalid_argument(msg.str());
}
}
}
}
}