-
Notifications
You must be signed in to change notification settings - Fork 53
Closed
Labels
Description
I am still debugging this, obviously, but after adding debug logging to chain/script.cpp as follows:
bool script::is_pay_to_witness(uint32_t forks) const
{
const auto this_id = boost::this_thread::get_id();
// This is used internally as an optimization over using script::pattern.
// The first operations access must be method-based to guarantee the cache.
bool bien = is_enabled(forks, rule_fork::bip141_rule);
if (bien)
{
LOG_VERBOSE(LOG_SYSTEM)
<< this_id
<< " script::is_pay_to_witness bien";
}
else
{
LOG_VERBOSE(LOG_SYSTEM)
<< this_id
<< " script::is_pay_to_witness mal";
}
auto bops = operations();
bool biwi = is_witness_program_pattern(bops);
if (biwi)
{
LOG_VERBOSE(LOG_SYSTEM)
<< this_id
<< " script::is_pay_to_witness biwi";
}
else
{
LOG_VERBOSE(LOG_SYSTEM)
<< this_id
<< " script::is_pay_to_witness biwi is false";
}
return bien && biwi;
}
what I see in the debug log is that is_enabled(forks, rule_fork::bip141_rule) always returns false.
this would explain why @thecodefactory has been able to sync past block 872,730 #381
my own testing confirms that when using the master branch as it exists today, with whatever problem it has right now which causes bip141 to fail to activate for Testnet when requested by config settings, indeed the sync makes progress far beyond block 872,730 and I have almost sync'ed to current on Testnet. without bip141 active it may well sync current, because true block validation is not occurring.