Merge pull request #53 from wowario/get_approximate_blockchain_height

wallet2: adapt get_approximate_blockchain_height
release-v0.2.1.0
jw 6 years ago committed by GitHub
commit 0e32c2f826
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9122,18 +9122,14 @@ uint64_t wallet2::get_daemon_blockchain_target_height(string &err)
uint64_t wallet2::get_approximate_blockchain_height() const
{
// time of v2 fork
const time_t fork_time = m_nettype == TESTNET ? 1448285909 : m_nettype == STAGENET ? (time_t)-1/*TODO*/ : 1458748658;
// v2 fork block
const uint64_t fork_block = m_nettype == TESTNET ? 624634 : m_nettype == STAGENET ? (uint64_t)-1/*TODO*/ : 1009827;
// time of v8 fork
const time_t fork_time = m_nettype == TESTNET ? 1523255371 : 1524622167;
// v8 fork block
const uint64_t fork_block = m_nettype == TESTNET ? 10 : 6969;
// avg seconds per block
const int seconds_per_block = DIFFICULTY_TARGET_V2;
// Calculated blockchain height
uint64_t approx_blockchain_height = fork_block + (time(NULL) - fork_time)/seconds_per_block;
// testnet got some huge rollbacks, so the estimation is way off
static const uint64_t approximate_testnet_rolled_back_blocks = 148540;
if (m_nettype == TESTNET && approx_blockchain_height > approximate_testnet_rolled_back_blocks)
approx_blockchain_height -= approximate_testnet_rolled_back_blocks;
LOG_PRINT_L2("Calculated blockchain height: " << approx_blockchain_height);
return approx_blockchain_height;
}

Loading…
Cancel
Save