// Copyright (c) 2009-2012 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#include "init.h"
+#include "wallet.h"
+#include "base58.h"
#include "txdb-leveldb.h"
#include "walletdb.h"
#include "bitcoinrpc.h"
#include "net.h"
-#include "init.h"
+#include "random.h"
#include "util.h"
#include "ipcollector.h"
#include "interface.h"
#include "checkpoints.h"
-#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/convenience.hpp>
#include <boost/interprocess/sync/file_lock.hpp>
#endif
-using namespace std;
-
-
CWallet* pwalletMain;
CClientUIInterface uiInterface;
std::string strWalletFileName;
// Core-specific options shared between UI and daemon
std::string HelpMessage()
{
- string strUsage = _("Options:") + "\n" +
+ std::string strUsage = _("Options:") + "\n" +
" -? " + _("This help message") + "\n" +
" -conf=<file> " + _("Specify configuration file (default: novacoin.conf)") + "\n" +
" -pid=<file> " + _("Specify pid file (default: novacoind.pid)") + "\n" +
" -bantime=<n> " + _("Number of seconds to keep misbehaving peers from reconnecting (default: 86400)") + "\n" +
" -maxreceivebuffer=<n> " + _("Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)") + "\n" +
" -maxsendbuffer=<n> " + _("Maximum per-connection send buffer, <n>*1000 bytes (default: 1000)") + "\n" +
- " -detachdb " + _("Detach block and address databases. Increases shutdown time (default: 0)") + "\n" +
#ifdef DB_LOG_IN_MEMORY
" -memorylog " + _("Use in-memory logging for block index database (default: 1)") + "\n" +
fUseMemoryLog = GetBoolArg("-memorylog", true);
// Ping and address broadcast intervals
- nPingInterval = max<int64_t>(10 * 60, GetArg("-keepalive", 30 * 60));
+ nPingInterval = std::max<int64_t>(10 * 60, GetArg("-keepalive", 30 * 60));
CheckpointsMode = Checkpoints::STRICT;
std::string strCpMode = GetArg("-cppolicy", "strict");
else
fDebugNet = GetBoolArg("-debugnet");
- bitdb.SetDetach(GetBoolArg("-detachdb", false));
-
#if !defined(WIN32) && !defined(QT_GUI)
fDaemon = GetBoolArg("-daemon");
#else
if (!bitdb.Open(GetDataDir()))
{
- string msg = strprintf(_("Error initializing database environment %s!"
+ std::string msg = strprintf(_("Error initializing database environment %s!"
" To recover, BACKUP THAT DIRECTORY, then remove"
" everything from it except for wallet.dat."), strDataDir.c_str());
return InitError(msg);
CDBEnv::VerifyResult r = bitdb.Verify(strWalletFileName, CWalletDB::Recover);
if (r == CDBEnv::RECOVER_OK)
{
- string msg = strprintf(_("Warning: wallet.dat corrupt, data salvaged!"
+ std::string msg = strprintf(_("Warning: wallet.dat corrupt, data salvaged!"
" Original wallet.dat saved as wallet.{timestamp}.bak in %s; if"
" your balance or transactions are incorrect you should"
" restore from a backup."), strDataDir.c_str());
if (mapArgs.count("-externalip"))
{
- for (string strAddr : mapMultiArgs["-externalip"]) {
+ for (std::string strAddr : mapMultiArgs["-externalip"]) {
CService addrLocal(strAddr, GetListenPort(), fNameLookup);
if (!addrLocal.IsValid())
return InitError(strprintf(_("Cannot resolve -externalip address: '%s'"), strAddr.c_str()));
InitError(_("Unable to sign checkpoint, wrong checkpointkey?\n"));
}
- for (string strDest : mapMultiArgs["-seednode"])
+ for (std::string strDest : mapMultiArgs["-seednode"])
AddOneShot(strDest);
// ********************************************************* Step 7: load blockchain
if (!bitdb.Open(GetDataDir()))
{
- string msg = strprintf(_("Error initializing database environment %s!"
+ std::string msg = strprintf(_("Error initializing database environment %s!"
" To recover, BACKUP THAT DIRECTORY, then remove"
" everything from it except for wallet.dat."), strDataDir.c_str());
return InitError(msg);
if (mapArgs.count("-printblock"))
{
- string strMatch = mapArgs["-printblock"];
+ std::string strMatch = mapArgs["-printblock"];
int nFound = 0;
- for (map<uint256, CBlockIndex*>::iterator mi = mapBlockIndex.begin(); mi != mapBlockIndex.end(); ++mi)
+ for (auto mi = mapBlockIndex.begin(); mi != mapBlockIndex.end(); ++mi)
{
uint256 hash = (*mi).first;
if (strncmp(hash.ToString().c_str(), strMatch.c_str(), strMatch.size()) == 0)
strErrors << _("Error loading wallet.dat: Wallet corrupted") << "\n";
else if (nLoadWalletRet == DB_NONCRITICAL_ERROR)
{
- string msg(_("Warning: error reading wallet.dat! All keys read correctly, but transaction data"
+ std::string msg(_("Warning: error reading wallet.dat! All keys read correctly, but transaction data"
" or address book entries might be missing or incorrect."));
uiInterface.ThreadSafeMessageBox(msg, _("NovaCoin"), CClientUIInterface::OK | CClientUIInterface::ICON_EXCLAMATION | CClientUIInterface::MODAL);
}
{
uiInterface.InitMessage(_("Importing blockchain data file."));
- for (string strFile : mapMultiArgs["-loadblock"])
+ for (std::string strFile : mapMultiArgs["-loadblock"])
{
FILE *file = fopen(strFile.c_str(), "rb");
if (file)
nStart = GetTimeMillis();
{
+ CAddrDB::SetMessageStart(pchMessageStart);
CAddrDB adb;
if (!adb.Read(addrman))
printf("Invalid or missing peers.dat; recreating\n");