mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-19 14:53:43 +01:00
Log block header in net_processing
Previously ChainstateManager::AcceptBlockHeader would log when it saw a new header. This commit moves logging to the call site(s) in net_processing. The next commits will then log which peer sent it and whether it was part of a compact block. This commit changes behavior: - when multiple headers are received in a single message, only the last one is logged - if any of the headers are invalid, the valid ones are not logged This happens because net_processing calls ProcessNewBlockHeaders with multiple headers, which then calls AcceptBlockHeader one header at a time. Additionally: - when the header is received via a compact block, there's no more duplicate log (a later commit also unifies logging code paths)
This commit is contained in:
@@ -4403,23 +4403,6 @@ bool ChainstateManager::AcceptBlockHeader(const CBlockHeader& block, BlockValida
|
||||
if (ppindex)
|
||||
*ppindex = pindex;
|
||||
|
||||
// Since this is the earliest point at which we have determined that a
|
||||
// header is both new and valid, log here.
|
||||
//
|
||||
// These messages are valuable for detecting potential selfish mining behavior;
|
||||
// if multiple displacing headers are seen near simultaneously across many
|
||||
// nodes in the network, this might be an indication of selfish mining. Having
|
||||
// this log by default when not in IBD ensures broad availability of this data
|
||||
// in case investigation is merited.
|
||||
const auto msg = strprintf(
|
||||
"Saw new header hash=%s height=%d", hash.ToString(), pindex->nHeight);
|
||||
|
||||
if (IsInitialBlockDownload()) {
|
||||
LogPrintLevel(BCLog::VALIDATION, BCLog::Level::Debug, "%s\n", msg);
|
||||
} else {
|
||||
LogPrintf("%s\n", msg);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user