比特币源码阅读(0.16)(十三)

CWallet::CreateWalletFromFile

如果编译宏ENABLE_WALLET打开(缺省),并且命令行参数-disablewallet没有设置,则从-wallet输入参数指定的文件中加载钱包数据,缺省是wallet.dat

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
// ********************************************************* Step 8: load wallet
#ifdef ENABLE_WALLET
if (!OpenWallets())
return false;
#else
LogPrintf("No wallet support compiled in!\n");
#endif

bool OpenWallets()
{
if (gArgs.GetBoolArg("-disablewallet", DEFAULT_DISABLE_WALLET)) {
LogPrintf("Wallet disabled!\n");
return true;
}

for (const std::string& walletFile : gArgs.GetArgs("-wallet")) {
CWallet * const pwallet = CWallet::CreateWalletFromFile(walletFile);
if (!pwallet) {
return false;
}
vpwallets.push_back(pwallet);
}

return true;
}