// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2011 The Bitcoin developers
+// Copyright (c) 2011-2012 The PPCoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
#include "headers.h"
{
fShutdown = true;
nTransactionsUpdated++;
- DBFlush(false, false);
+ DBFlush(false);
StopNode();
- DBFlush(true, true);
+ DBFlush(true);
boost::filesystem::remove(GetPidFile());
UnregisterWallet(pwalletMain);
delete pwalletMain;
CreateThread(ExitTimeout, NULL);
Sleep(50);
- printf("Bitcoin exiting\n\n");
+ printf("PPCoin exiting\n\n");
fExit = true;
exit(0);
}
// Start
//
#if !defined(QT_GUI)
+#if !defined(PPCOIN_GENESIS)
int main(int argc, char* argv[])
{
bool fRet = false;
return 1;
}
#endif
+#endif
bool AppInit(int argc, char* argv[])
{
if (mapArgs.count("-?") || mapArgs.count("--help"))
{
string strUsage = string() +
- _("Bitcoin version") + " " + FormatFullVersion() + "\n\n" +
+ _("PPCoin version") + " " + FormatFullVersion() + "\n\n" +
_("Usage:") + "\t\t\t\t\t\t\t\t\t\t\n" +
- " bitcoin [options] \t " + "\n" +
- " bitcoin [options] <command> [params]\t " + _("Send command to -server or bitcoind\n") +
- " bitcoin [options] help \t\t " + _("List commands\n") +
- " bitcoin [options] help <command> \t\t " + _("Get help for a command\n") +
+ " ppcoind [options] \t " + "\n" +
+ " ppcoind [options] <command> [params]\t " + _("Send command to -server or ppcoind\n") +
+ " ppcoind [options] help \t\t " + _("List commands\n") +
+ " ppcoind [options] help <command> \t\t " + _("Get help for a command\n") +
_("Options:\n") +
- " -conf=<file> \t\t " + _("Specify configuration file (default: bitcoin.conf)\n") +
- " -pid=<file> \t\t " + _("Specify pid file (default: bitcoind.pid)\n") +
+ " -conf=<file> \t\t " + _("Specify configuration file (default: ppcoin.conf)\n") +
+ " -pid=<file> \t\t " + _("Specify pid file (default: ppcoind.pid)\n") +
" -gen \t\t " + _("Generate coins\n") +
" -gen=0 \t\t " + _("Don't generate coins\n") +
" -min \t\t " + _("Start minimized\n") +
" -timeout=<n> \t " + _("Specify connection timeout (in milliseconds)\n") +
" -proxy=<ip:port> \t " + _("Connect through socks4 proxy\n") +
" -dns \t " + _("Allow DNS lookups for addnode and connect\n") +
+ " -port=<port> \t\t " + _("Listen for connections on <port> (default: 9901 or testnet: 9903)\n") +
+ " -maxconnections=<n>\t " + _("Maintain at most <n> connections to peers (default: 125)\n") +
" -addnode=<ip> \t " + _("Add a node to connect to\n") +
" -connect=<ip> \t\t " + _("Connect only to the specified node\n") +
" -nolisten \t " + _("Don't accept connections from outside\n") +
+ " -nodnsseed \t " + _("Don't bootstrap list of peers using DNS\n") +
" -banscore=<n> \t " + _("Threshold for disconnecting misbehaving peers (default: 100)\n") +
" -bantime=<n> \t " + _("Number of seconds to keep misbehaving peers from reconnecting (default: 86400)\n") +
+ " -maxreceivebuffer=<n>\t " + _("Maximum per-connection receive buffer, <n>*1000 bytes (default: 10000)\n") +
+ " -maxsendbuffer=<n>\t " + _("Maximum per-connection send buffer, <n>*1000 bytes (default: 10000)\n") +
#ifdef USE_UPNP
#if USE_UPNP
" -noupnp \t " + _("Don't attempt to use UPnP to map the listening port\n") +
" -daemon \t\t " + _("Run in the background as a daemon and accept commands\n") +
#endif
" -testnet \t\t " + _("Use the test network\n") +
+ " -debug \t\t " + _("Output extra debugging information\n") +
+ " -logtimestamps \t " + _("Prepend debug output with timestamp\n") +
+ " -printtoconsole \t " + _("Send trace/debug info to console instead of debug.log file\n") +
+#ifdef WIN32
+ " -printtodebugger \t " + _("Send trace/debug info to debugger\n") +
+#endif
" -rpcuser=<user> \t " + _("Username for JSON-RPC connections\n") +
" -rpcpassword=<pw>\t " + _("Password for JSON-RPC connections\n") +
- " -rpcport=<port> \t\t " + _("Listen for JSON-RPC connections on <port> (default: 8332)\n") +
+ " -rpcport=<port> \t\t " + _("Listen for JSON-RPC connections on <port> (default: 9902)\n") +
" -rpcallowip=<ip> \t\t " + _("Allow JSON-RPC connections from specified IP address\n") +
" -rpcconnect=<ip> \t " + _("Send commands to node running on <ip> (default: 127.0.0.1)\n") +
" -keypool=<n> \t " + _("Set key pool size to <n> (default: 100)\n") +
if (!fDebug && !pszSetDataDir[0])
ShrinkDebugFile();
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
- printf("Bitcoin version %s\n", FormatFullVersion().c_str());
+ printf("PPCoin version %s\n", FormatFullVersion().c_str());
printf("Default data directory %s\n", GetDefaultDataDir().c_str());
if (GetBoolArg("-loadblockindextest"))
static boost::interprocess::file_lock lock(strLockFile.c_str());
if (!lock.try_lock())
{
- wxMessageBox(strprintf(_("Cannot obtain a lock on data directory %s. Bitcoin is probably already running."), GetDataDir().c_str()), "Bitcoin");
+ wxMessageBox(strprintf(_("Cannot obtain a lock on data directory %s. PPCoin is probably already running."), GetDataDir().c_str()), "PPCoin");
return false;
}
{
if (!BindListenPort(strErrors))
{
- wxMessageBox(strErrors, "Bitcoin");
+ wxMessageBox(strErrors, "PPCoin");
return false;
}
}
// Load data files
//
if (fDaemon)
- fprintf(stdout, "bitcoin server starting\n");
+ fprintf(stdout, "ppcoin server starting\n");
strErrors = "";
int64 nStart;
if (nLoadWalletRet == DB_CORRUPT)
strErrors += _("Error loading wallet.dat: Wallet corrupted \n");
else if (nLoadWalletRet == DB_TOO_NEW)
- strErrors += _("Error loading wallet.dat: Wallet requires newer version of Bitcoin \n");
+ strErrors += _("Error loading wallet.dat: Wallet requires newer version of PPCoin \n");
else if (nLoadWalletRet == DB_NEED_REWRITE)
{
- strErrors += _("Wallet needed to be rewritten: restart Bitcoin to complete \n");
- wxMessageBox(strErrors, "Bitcoin", wxOK | wxICON_ERROR);
+ strErrors += _("Wallet needed to be rewritten: restart PPCoin to complete \n");
+ wxMessageBox(strErrors, "PPCoin", wxOK | wxICON_ERROR);
return false;
}
else
if (!strErrors.empty())
{
- wxMessageBox(strErrors, "Bitcoin", wxOK | wxICON_ERROR);
+ wxMessageBox(strErrors, "PPCoin", wxOK | wxICON_ERROR);
return false;
}
addrProxy = CAddress(mapArgs["-proxy"]);
if (!addrProxy.IsValid())
{
- wxMessageBox(_("Invalid -proxy address"), "Bitcoin");
+ wxMessageBox(_("Invalid -proxy address"), "PPCoin");
return false;
}
}
}
}
- if (GetBoolArg("-nodnsseed"))
- printf("DNS seeding disabled\n");
- else
- DNSAddressSeed();
-
if (mapArgs.count("-paytxfee"))
{
- if (!ParseMoney(mapArgs["-paytxfee"], nTransactionFee))
+ if (!ParseMoney(mapArgs["-paytxfee"], nTransactionFee) || nTransactionFee < MIN_TX_FEE)
{
- wxMessageBox(_("Invalid amount for -paytxfee=<amount>"), "Bitcoin");
+ wxMessageBox(_("Invalid amount for -paytxfee=<amount>"), "PPCoin");
return false;
}
- if (nTransactionFee > 0.25 * COIN)
- wxMessageBox(_("Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction."), "Bitcoin", wxOK | wxICON_EXCLAMATION);
+ nTransactionFee = (nTransactionFee / CENT) * CENT; // round to cent
+ if (nTransactionFee >= 0.25 * COIN)
+ wxMessageBox(_("Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction."), "PPCoin", wxOK | wxICON_EXCLAMATION);
}
if (fHaveUPnP)
RandAddSeedPerfmon();
if (!CreateThread(StartNode, NULL))
- wxMessageBox(_("Error: CreateThread(StartNode) failed"), "Bitcoin");
+ wxMessageBox(_("Error: CreateThread(StartNode) failed"), "PPCoin");
if (fServer)
CreateThread(ThreadRPCServer, NULL);