diff options
author | MarcoFalke <falke.marco@gmail.com> | 2021-12-08 10:38:10 +0100 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2021-12-08 10:39:37 +0100 |
commit | f6013265b7f22ce63f5e5fd8700c03d56cb000c8 (patch) | |
tree | ad077d2e4194df3657e5557521feadef959a1c2a /src/validation.cpp | |
parent | 84d921e79c738c7959692a4e7a76327469e8cc50 (diff) | |
parent | dce8c4c38111556ca480aa0e63c46b71f66b508f (diff) |
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.cpp | 1 |
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. |