Nicer looking exit when blockchain.bin is found

Do not print the exception message, and write the important bit
in red, since people will only read the last line otherwise.
This commit is contained in:
moneromooo-monero 2015-12-31 17:09:00 +00:00
parent ac7d27d4f9
commit 1e07110a7a
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
3 changed files with 25 additions and 31 deletions

View file

@ -231,6 +231,26 @@ namespace cryptonote
bool fast_sync = command_line::get_arg(vm, command_line::arg_fast_block_sync) != 0;
uint64_t blocks_threads = command_line::get_arg(vm, command_line::arg_prep_blocks_threads);
boost::filesystem::path folder(m_config_folder);
if (m_fakechain)
folder /= "fake";
//
// check for blockchain.bin
try
{
const boost::filesystem::path old_files = folder;
if (boost::filesystem::exists(old_files / "blockchain.bin"))
{
LOG_PRINT_RED_L0("Found old-style blockchain.bin in " << old_files.string());
LOG_PRINT_RED_L0("Monero now uses a new format. You can either remove blockchain.bin to start syncing");
LOG_PRINT_RED_L0("the blockchain anew, or use blockchain_export and blockchain_import to convert your");
LOG_PRINT_RED_L0("existing blockchain.bin to the new format. See README.md for instructions.");
return false;
}
}
// folder might not be a directory, etc, etc
catch (...) { }
BlockchainDB* db = nullptr;
uint64_t BDB_FAST_MODE = 0;
uint64_t BDB_FASTEST_MODE = 0;
@ -257,37 +277,9 @@ namespace cryptonote
return false;
}
boost::filesystem::path folder(m_config_folder);
if (m_fakechain)
folder /= "fake";
folder /= db->get_db_name();
LOG_PRINT_L0("Loading blockchain from folder " << folder.string() << " ...");
// check for blockchain.bin
bool old_blockchain_found = false;
try
{
const boost::filesystem::path old_files = folder.parent_path();
if (boost::filesystem::exists(folder.parent_path() / "blockchain.bin"))
{
LOG_PRINT_L0("Found old-style blockchain.bin in " << old_files.string());
LOG_PRINT_L0("Monero now uses a new format. You can either remove blockchain.bin to start syncing");
LOG_PRINT_L0("the blockchain anew, or use blockchain_export and blockchain_import to convert your");
LOG_PRINT_L0("existing blockchain.bin to the new format. See README.md for instructions.");
old_blockchain_found = true;
}
}
// folder might not be a directory, etc, etc
catch (...) {}
if (old_blockchain_found)
{
throw DB_ERROR("Database could not be opened");
}
const std::string filename = folder.string();
// temporarily default to fastest:async:1000
blockchain_db_sync_mode sync_mode = db_async;

View file

@ -66,15 +66,16 @@ public:
m_core.set_cryptonote_protocol(&protocol);
}
void run()
bool run()
{
//initialize core here
LOG_PRINT_L0("Initializing core...");
if (!m_core.init(m_vm_HACK))
{
throw std::runtime_error("Failed to initialize core");
return false;
}
LOG_PRINT_L0("Core initialized OK");
return true;
}
cryptonote::core & get()

View file

@ -118,7 +118,8 @@ bool t_daemon::run(bool interactive)
try
{
mp_internals->core.run();
if (!mp_internals->core.run())
return false;
mp_internals->rpc.run();
daemonize::t_command_server* rpc_commands;