mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-04-18 11:37:40 +02:00
Merge #21594: rpc: add network field to getnodeaddresses
5c446784b1rpc: improve getnodeaddresses help (Jon Atack)1b9189866arpc: simplify/constify getnodeaddresses code (Jon Atack)3bb6e7b655rpc: add network field to rpc getnodeaddresses (Jon Atack) Pull request description: This patch adds a network field to RPC `getnodeaddresses`, which is useful on its own, particularly with the addition of new networks like I2P and others in the future, and which I also found helpful for adding a new CLI command as a follow-up to this pull that calls `getnodeaddresses` and needs to know the network of each address. While here, also improve the `getnodeaddresses` code and help. ``` $ bitcoin-cli -signet getnodeaddresses 3 [ { "time": 1611564659, "services": 1033, "address": "2600:1702:3c30:734f:8f2e:744b:2a51:dfa5", "port": 38333, "network": "ipv6" }, { "time": 1617531931, "services": 1033, "address": "153.126.143.201", "port": 38333, "network": "ipv4" }, { "time": 1617473058, "services": 1033, "address": "nsgyo7begau4yecc46ljfecaykyzszcseapxmtu6adrfagfrrzrlngyd.onion", "port": 38333, "network": "onion" } ] $ bitcoin-cli help getnodeaddresses getnodeaddresses ( count ) Return known addresses, which can potentially be used to find new nodes in the network. Arguments: 1. count (numeric, optional, default=1) The maximum number of addresses to return. Specify 0 to return all known addresses. Result: [ (json array) { (json object) "time" : xxx, (numeric) The UNIX epoch time when the node was last seen "services" : n, (numeric) The services offered by the node "address" : "str", (string) The address of the node "port" : n, (numeric) The port number of the node "network" : "str" (string) The network (ipv4, ipv6, onion, i2p) the node connected through }, ... ] ``` Future idea: allow passing `getnodeaddresses` a network (or networks) as an argument to return only addresses in that network. ACKs for top commit: laanwj: Tested ACK5c446784b1jarolrod: re-ACK5c446784b1promag: Code review ACK5c446784b1. Tree-SHA512: ab0101f50c76d98c3204133b9f2ab6b7b17193ada31455ef706ad11afbf48f472fa3deb33e96028682369b35710ccd07d81863d2fd55c1485f32432f2b75efa8
This commit is contained in:
@@ -195,7 +195,7 @@ class NetTest(BitcoinTestFramework):
|
||||
for i in range(10000):
|
||||
first_octet = i >> 8
|
||||
second_octet = i % 256
|
||||
a = "{}.{}.1.1".format(first_octet, second_octet)
|
||||
a = "{}.{}.1.1".format(first_octet, second_octet) # IPV4
|
||||
imported_addrs.append(a)
|
||||
self.nodes[0].addpeeraddress(a, 8333)
|
||||
|
||||
@@ -212,6 +212,7 @@ class NetTest(BitcoinTestFramework):
|
||||
assert_equal(a["services"], NODE_NETWORK | NODE_WITNESS)
|
||||
assert a["address"] in imported_addrs
|
||||
assert_equal(a["port"], 8333)
|
||||
assert_equal(a["network"], "ipv4")
|
||||
|
||||
node_addresses = self.nodes[0].getnodeaddresses(1)
|
||||
assert_equal(len(node_addresses), 1)
|
||||
|
||||
Reference in New Issue
Block a user