From b9e105b6643bada4c80f8d521394be4d55e8e4fc Mon Sep 17 00:00:00 2001 From: glozow Date: Fri, 26 Feb 2021 13:44:40 -0800 Subject: [PATCH] [net_processing] ignore all transactions during ibd Co-authored-by: Amiti Uttarwar --- src/net_processing.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 9f3aa5b4a3e..e2050307490 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -3207,6 +3207,11 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type, return; } + // Stop processing the transaction early if we are still in IBD since we don't + // have enough information to validate it yet. Sending unsolicited transactions + // is not considered a protocol violation, so don't punish the peer. + if (m_chainman.ActiveChainstate().IsInitialBlockDownload()) return; + CTransactionRef ptx; vRecv >> ptx; const CTransaction& tx = *ptx;