blockchain: keep alternative blocks in LMDB
Alternative blocks are cleared on startup unless --keep-alt-blocks is passed on the command line
This commit is contained in:
@@ -208,6 +208,11 @@ namespace cryptonote
|
||||
"is acted upon."
|
||||
, ""
|
||||
};
|
||||
static const command_line::arg_descriptor<bool> arg_keep_alt_blocks = {
|
||||
"keep-alt-blocks"
|
||||
, "Keep alternative blocks on restart"
|
||||
, false
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------------------------
|
||||
core::core(i_cryptonote_protocol* pprotocol):
|
||||
@@ -325,6 +330,7 @@ namespace cryptonote
|
||||
command_line::add_arg(desc, arg_prune_blockchain);
|
||||
command_line::add_arg(desc, arg_reorg_notify);
|
||||
command_line::add_arg(desc, arg_block_rate_notify);
|
||||
command_line::add_arg(desc, arg_keep_alt_blocks);
|
||||
|
||||
miner::init_options(desc);
|
||||
BlockchainDB::init_options(desc);
|
||||
@@ -456,6 +462,7 @@ namespace cryptonote
|
||||
std::string check_updates_string = command_line::get_arg(vm, arg_check_updates);
|
||||
size_t max_txpool_weight = command_line::get_arg(vm, arg_max_txpool_weight);
|
||||
bool prune_blockchain = command_line::get_arg(vm, arg_prune_blockchain);
|
||||
bool keep_alt_blocks = command_line::get_arg(vm, arg_keep_alt_blocks);
|
||||
|
||||
boost::filesystem::path folder(m_config_folder);
|
||||
if (m_nettype == FAKECHAIN)
|
||||
@@ -671,6 +678,9 @@ namespace cryptonote
|
||||
r = m_miner.init(vm, m_nettype);
|
||||
CHECK_AND_ASSERT_MES(r, false, "Failed to initialize miner instance");
|
||||
|
||||
if (!keep_alt_blocks && !m_blockchain_storage.get_db().is_read_only())
|
||||
m_blockchain_storage.get_db().drop_alt_blocks();
|
||||
|
||||
if (prune_blockchain)
|
||||
{
|
||||
// display a message if the blockchain is not pruned yet
|
||||
|
||||
Reference in New Issue
Block a user