 |
PRCYCoin
2.0.0.7rc1
P2P Digital Currency
|
Go to the documentation of this file.
22 #include <boost/algorithm/string/predicate.hpp>
23 #include <boost/thread.hpp>
44 static bool fMasternode;
74 std::string strUsage =
_(
"PRCY Daemon") +
" " +
_(
"version") +
" " +
FormatFullVersion() +
"\n";
76 if (
mapArgs.count(
"-version")) {
79 strUsage +=
"\n" +
_(
"Usage:") +
"\n" +
80 " prcycoind [options] " +
_(
"Start PRCY Daemon") +
"\n";
85 fprintf(stdout,
"%s", strUsage.c_str());
91 fprintf(stderr,
"Error: Specified data directory \"%s\" does not exist.\n",
mapArgs[
"-datadir"].c_str());
96 }
catch (
const std::exception& e) {
97 fprintf(stderr,
"Error reading configuration file: %s\n", e.what());
102 fprintf(stderr,
"Error: Invalid combination of -regtest and -testnet.\n");
109 fprintf(stderr,
"Error reading masternode configuration file: %s\n", strErr.c_str());
114 bool fCommandLine =
false;
115 for (
int i = 1; i < argc; i++)
116 if (!
IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i],
"prcycoin:"))
120 fprintf(stderr,
"Error: There is no RPC client functionality in prcycoind anymore. Use the prcycoin-cli utility instead.\n");
125 fMasternode =
GetBoolArg(
"-masternode",
false);
128 fprintf(stdout,
"%s", strUsage.c_str());
129 fprintf(stdout,
"PRCY server starting\n");
131 fprintf(stdout,
"Masternode = 1 - This is a masternode\n");
136 fprintf(stderr,
"Error: fork() returned %d errno %d\n", pid, errno);
145 pid_t sid = setsid();
147 fprintf(stderr,
"Error: setsid() returned %d errno %d\n", sid, errno);
156 }
catch (
const std::exception& e) {
172 int main(
int argc,
char* argv[])
179 return (
AppInit(argc, argv) ? 0 : 1);
void InitLogging()
Initialize the logging infrastructure.
bool SoftSetBoolArg(const std::string &strArg, bool fValue)
Set a boolean argument if it doesn't already have a value.
void ReadConfigFile(std::map< std::string, std::string > &mapSettingsRet, std::map< std::string, std::vector< std::string > > &mapMultiSettingsRet)
bool AppInit2(bool isDaemon)
Initialize prcy.
void Interrupt()
Interrupt threads.
std::map< std::string, std::string > mapArgs
bool SelectParamsFromCommandLine()
Looks for -regtest or -testnet and then calls SelectParams as appropriate.
std::string LicenseInfo()
Returns licensing information (for -version)
bool IsSwitchChar(char c)
void PrintExceptionContinue(const std::exception *pex, const char *pszThread)
std::string _(const char *psz)
Translation function: Call Translate signal on UI interface, which returns a boost::optional result.
std::string HelpMessage(HelpMessageMode mode)
Help for options shared between UI and daemon (for -help)
bool GetBoolArg(const std::string &strArg, bool fDefault)
Return boolean argument or default value.
bool read(std::string &strErr)
void InitParameterInteraction()
Parameter interaction: change current parameters depending on various rules.
CMasternodeConfig masternodeConfig
void Shutdown()
Shutdown is split into 2 parts: Part 1: shut down everything but the main wallet instance (done in Pr...
bool AppInit(int argc, char *argv[])
void ParseParameters(int argc, const char *const argv[])
const fs::path & GetDataDir(bool fNetSpecific)
void MilliSleep(int64_t n)
std::string FormatFullVersion()
std::map< std::string, std::vector< std::string > > mapMultiArgs
int main(int argc, char *argv[])