本文整理汇总了C++中cryptonote::WalletGreen::load方法的典型用法代码示例。如果您正苦于以下问题:C++ WalletGreen::load方法的具体用法?C++ WalletGreen::load怎么用?C++ WalletGreen::load使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cryptonote::WalletGreen
的用法示例。
在下文中一共展示了WalletGreen::load方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: openWallet
std::shared_ptr<WalletInfo> openWallet(CryptoNote::WalletGreen &wallet,
Config &config)
{
const std::string walletFileName = getExistingWalletFileName(config);
bool initial = true;
while (true)
{
std::string walletPass;
/* Only use the command line pass once, otherwise we will infinite
loop if it is incorrect */
if (initial && config.passGiven)
{
walletPass = config.walletPass;
}
else
{
walletPass = getWalletPassword(false, "Enter password: ");
}
initial = false;
connectingMsg();
try
{
wallet.load(walletFileName, walletPass);
const std::string walletAddress = wallet.getAddress(0);
const Crypto::SecretKey privateSpendKey
= wallet.getAddressSpendKey(0).secretKey;
bool viewWallet = false;
if (privateSpendKey == CryptoNote::NULL_SECRET_KEY)
{
std::cout << std::endl
<< InformationMsg("Your view only wallet ")
<< InformationMsg(walletAddress)
<< InformationMsg(" has been successfully opened!")
<< std::endl << std::endl;
viewWalletMsg();
viewWallet = true;
}
else
{
std::cout << std::endl
<< InformationMsg("Your wallet ")
<< InformationMsg(walletAddress)
<< InformationMsg(" has been successfully opened!")
<< std::endl << std::endl;
}
return std::make_shared<WalletInfo>(
walletFileName, walletPass, walletAddress, viewWallet, wallet
);
}
catch (const std::system_error& e)
{
bool handled = false;
switch (e.code().value())
{
case CryptoNote::error::WRONG_PASSWORD:
{
std::cout << std::endl
<< WarningMsg("Incorrect password! Try again.")
<< std::endl << std::endl;
handled = true;
break;
}
case CryptoNote::error::WRONG_VERSION:
{
std::stringstream msg;
msg << "Could not open wallet file! It doesn't appear "
<< "to be a valid wallet!" << std::endl
<< "Ensure you are opening a wallet file, and the "
<< "file has not gotten corrupted." << std::endl
<< "Try reimporting via keys, and always close "
<< WalletConfig::walletName << " with the exit "
<< "command to prevent corruption." << std::endl;
std::cout << WarningMsg(msg.str()) << std::endl;
return nullptr;
}
}
if (handled)
{
//.........这里部分代码省略.........