aboutsummaryrefslogtreecommitdiff
path: root/src/validation.cpp
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2021-12-08 10:38:10 +0100
committerMarcoFalke <falke.marco@gmail.com>2021-12-08 10:39:37 +0100
commitf6013265b7f22ce63f5e5fd8700c03d56cb000c8 (patch)
treead077d2e4194df3657e5557521feadef959a1c2a /src/validation.cpp
parent84d921e79c738c7959692a4e7a76327469e8cc50 (diff)
parentdce8c4c38111556ca480aa0e63c46b71f66b508f (diff)
downloadbitcoin-f6013265b7f22ce63f5e5fd8700c03d56cb000c8.tar.xz
Merge bitcoin/bitcoin#20295: rpc: getblockfrompeer
dce8c4c38111556ca480aa0e63c46b71f66b508f rpc: getblockfrompeer (Sjors Provoost) b884ababc29ce963826d8a4327ed6a5e629ff175 rpc: move Ensure* helpers to server_util.h (Sjors Provoost) Pull request description: This adds an RPC method to fetch a block directly from a peer. This can used to fetch stale blocks with lower proof of work that are normally ignored by the node (`headers-only` in `getchaintips`). Usage: ``` bitcoin-cli getblockfrompeer HASH peer_n ``` Closes #20155 Limitations: * you have to specify which peer to fetch the block from * the node must already have the header ACKs for top commit: jnewbery: ACK dce8c4c38111556ca480aa0e63c46b71f66b508f fjahr: re-ACK dce8c4c38111556ca480aa0e63c46b71f66b508f Tree-SHA512: 843ba2b7a308f640770d624d0aa3265fdc5c6ea48e8db32269b96a082b7420f7953d1d8d1ef2e6529392c7172dded9d15639fbc9c24e7bfa5cfb79e13a5498c8
Diffstat (limited to 'src/validation.cpp')
-rw-r--r--src/validation.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/validation.cpp b/src/validation.cpp
index 5ab90c2f1a..7efd176e00 100644
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -3407,6 +3407,7 @@ bool CChainState::AcceptBlock(const std::shared_ptr<const CBlock>& pblock, Block
// This requires some new chain data structure to efficiently look up if a
// block is in a chain leading to a candidate for best tip, despite not
// being such a candidate itself.
+ // Note that this would break the getblockfrompeer RPC
// TODO: deal better with return value and error conditions for duplicate
// and unrequested blocks.