|
|
|
@ -831,6 +831,7 @@ difficulty_type Blockchain::get_difficulty_for_next_block()
|
|
|
|
|
std::vector<uint64_t> timestamps;
|
|
|
|
|
std::vector<difficulty_type> difficulties;
|
|
|
|
|
auto height = m_db->height();
|
|
|
|
|
top_hash = get_tail_id(); // get it again now that we have the lock
|
|
|
|
|
// ND: Speedup
|
|
|
|
|
// 1. Keep a list of the last 735 (or less) blocks that is used to compute difficulty,
|
|
|
|
|
// then when the next block difficulty is queried, push the latest height data and
|
|
|
|
@ -853,7 +854,7 @@ difficulty_type Blockchain::get_difficulty_for_next_block()
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
size_t offset = height - std::min < size_t > (height, static_cast<size_t>(DIFFICULTY_BLOCKS_COUNT));
|
|
|
|
|
uint64_t offset = height - std::min <uint64_t> (height, static_cast<uint64_t>(DIFFICULTY_BLOCKS_COUNT));
|
|
|
|
|
if (offset == 0)
|
|
|
|
|
++offset;
|
|
|
|
|
|
|
|
|
|