return path;
}
+string randomStrGen(int length) {
+ static string charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
+ string result;
+ result.resize(length);
+ for (int32_t i = 0; i < length; i++)
+ result[i] = charset[rand() % charset.length()];
+
+ return result;
+}
+
+void createConf()
+{
+ srand(time(NULL));
+
+ ofstream pConf;
+#if BOOST_FILESYSTEM_VERSION >= 3
+ pConf.open(GetConfigFile().generic_string().c_str());
+#else
+ pConf.open(GetConfigFile().string().c_str());
+#endif
+ pConf << "rpcuser=user\nrpcpassword="
+ + randomStrGen(15)
+ + "\nrpcport=8344"
+ + "\nport=7777"
+ + "\n#(0=off, 1=on) daemon - run in the background as a daemon and accept commands"
+ + "\ndaemon=0"
+ + "\n#(0=off, 1=on) server - accept command line and JSON-RPC commands"
+ + "\nserver=0"
+ + "\nrpcallowip=127.0.0.1"
+ + "\ntestnet=0";
+ pConf.close();
+}
+
boost::filesystem::path GetConfigFile()
{
boost::filesystem::path pathConfigFile(GetArg("-conf", "novacoin.conf"));
{
boost::filesystem::ifstream streamConfig(GetConfigFile());
if (!streamConfig.good())
- return; // No bitcoin.conf file is OK
+ {
+ createConf();
+ new(&streamConfig) boost::filesystem::ifstream(GetConfigFile());
+ if(!streamConfig.good())
+ return;
+ }
set<string> setOptions;
setOptions.insert("*");
}
return true;
}
+
+std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime)
+{
+ // std::locale takes ownership of the pointer
+ std::locale loc(std::locale::classic(), new boost::posix_time::time_facet(pszFormat));
+ std::stringstream ss;
+ ss.imbue(loc);
+ ss << boost::posix_time::from_time_t(nTime);
+ return ss.str();
+}
\ No newline at end of file