mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-19 14:53:43 +01:00
rpc, net: deprecate startingheight field of getpeerinfo RPC
The reported starting height of a peer in the VERSION message is untrusted, and it doesn't seem to be useful anymore (after #20624), so deprecating the corresponding "startingheight" field seems reasonable. After that, it can be removed, along with the `m_starting_height` field of the Peer / CNodeStats structs, as it is sufficient to show the reported height only once at connection in the debug log.
This commit is contained in:
7
doc/release-notes-34197.md
Normal file
7
doc/release-notes-34197.md
Normal file
@@ -0,0 +1,7 @@
|
||||
Updated RPCs
|
||||
------------
|
||||
|
||||
- The `getpeerinfo` RPC no longer returns the `startingheight` field unless
|
||||
the configuration option `-deprecatedrpc=startingheight` is used. The
|
||||
`startingheight` field will be fully removed in the next major release.
|
||||
(#34197)
|
||||
@@ -268,6 +268,7 @@ struct Peer {
|
||||
bool m_outbound_version_message_sent GUARDED_BY(NetEventsInterface::g_msgproc_mutex){false};
|
||||
|
||||
/** This peer's reported block height when we connected */
|
||||
// TODO: remove in v32.0, only show reported height once in "receive version message: ..." debug log
|
||||
std::atomic<int> m_starting_height{-1};
|
||||
|
||||
/** The pong reply we're expecting, or 0 if no pong expected. */
|
||||
|
||||
@@ -160,7 +160,7 @@ static RPCHelpMan getpeerinfo()
|
||||
{RPCResult::Type::BOOL, "inbound", "Inbound (true) or Outbound (false)"},
|
||||
{RPCResult::Type::BOOL, "bip152_hb_to", "Whether we selected peer as (compact blocks) high-bandwidth peer"},
|
||||
{RPCResult::Type::BOOL, "bip152_hb_from", "Whether peer selected us as (compact blocks) high-bandwidth peer"},
|
||||
{RPCResult::Type::NUM, "startingheight", "The starting height (block) of the peer"},
|
||||
{RPCResult::Type::NUM, "startingheight", /*optional=*/true, "(DEPRECATED, returned only if config option -deprecatedrpc=startingheight is passed) The starting height (block) of the peer"},
|
||||
{RPCResult::Type::NUM, "presynced_headers", "The current height of header pre-synchronization with this peer, or -1 if no low-work sync is in progress"},
|
||||
{RPCResult::Type::NUM, "synced_headers", "The last header we have in common with this peer"},
|
||||
{RPCResult::Type::NUM, "synced_blocks", "The last block we have in common with this peer"},
|
||||
@@ -267,7 +267,9 @@ static RPCHelpMan getpeerinfo()
|
||||
obj.pushKV("inbound", stats.fInbound);
|
||||
obj.pushKV("bip152_hb_to", stats.m_bip152_highbandwidth_to);
|
||||
obj.pushKV("bip152_hb_from", stats.m_bip152_highbandwidth_from);
|
||||
obj.pushKV("startingheight", statestats.m_starting_height);
|
||||
if (IsDeprecatedRPCEnabled("startingheight")) {
|
||||
obj.pushKV("startingheight", statestats.m_starting_height);
|
||||
}
|
||||
obj.pushKV("presynced_headers", statestats.presync_height);
|
||||
obj.pushKV("synced_headers", statestats.nSyncHeight);
|
||||
obj.pushKV("synced_blocks", statestats.nCommonHeight);
|
||||
|
||||
@@ -62,7 +62,10 @@ def seed_addrman(node):
|
||||
class NetTest(BitcoinTestFramework):
|
||||
def set_test_params(self):
|
||||
self.num_nodes = 2
|
||||
self.extra_args = [["-minrelaytxfee=0.00001000"], ["-minrelaytxfee=0.00000500"]]
|
||||
self.extra_args = [
|
||||
["-minrelaytxfee=0.00001000", "-deprecatedrpc=startingheight"],
|
||||
["-minrelaytxfee=0.00000500"],
|
||||
]
|
||||
# Specify a non-working proxy to make sure no actual connections to public IPs are attempted
|
||||
for args in self.extra_args:
|
||||
args.append("-proxy=127.0.0.1:1")
|
||||
|
||||
Reference in New Issue
Block a user