mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-02-03 22:03:01 +01:00
Merge bitcoin/bitcoin#22544: cli -addrinfo: drop torv2; torv3 becomes onion per GetNetworkName()
49d503aefadoc: update -addrinfo in release-notes.md and tor.md (Jon Atack)75ea9ecf11cli -addrinfo: drop torv2, torv3 becomes onion per GetNetworkName() (Jon Atack) Pull request description: #22050 removed torv2 support from 22.0. For 23.0 and subsequent releases, we can probably remove torv2 from -addrinfo. before ``` "addresses_known": { "ipv4": 58305, "ipv6": 5138, "torv2": 0, "torv3": 5441, "i2p": 14, "total": 68898 } ``` after ``` "addresses_known": { "ipv4": 58305, "ipv6": 5138, "onion": 5441, "i2p": 14, "total": 68898 } ``` Per the naming of `netbase.{h, cpp}::GetNetworkName()`, torv3 becomes onion, which is what is printed in the output of getpeerinfo, getnetworkinfo and getnodeaddresses. ACKs for top commit: practicalswift: cr ACK49d503aefaZero-1729: tACK49d503aefa🧉 klementtan: Code review and tested ACK49d503aefaTree-SHA512: bca52520d8b12c26f1c329d661b9e22c567954ed2af7d2a16d7669eae1a221eada20944f8b2f4e78e31a7190d5f3d3fbfd37509e5edf2d9a3747a0a8f4e375bb
This commit is contained in:
@@ -242,7 +242,7 @@ public:
|
||||
class AddrinfoRequestHandler : public BaseRequestHandler
|
||||
{
|
||||
private:
|
||||
static constexpr std::array m_networks{"ipv4", "ipv6", "torv2", "torv3", "i2p"};
|
||||
static constexpr std::array m_networks{"ipv4", "ipv6", "onion", "i2p"};
|
||||
int8_t NetworkStringToId(const std::string& str) const
|
||||
{
|
||||
for (size_t i = 0; i < m_networks.size(); ++i) {
|
||||
@@ -268,13 +268,10 @@ public:
|
||||
if (!nodes.empty() && nodes.at(0)["network"].isNull()) {
|
||||
throw std::runtime_error("-addrinfo requires bitcoind server to be running v22.0 and up");
|
||||
}
|
||||
// Count the number of peers we know by network, including torv2 versus torv3.
|
||||
// Count the number of peers known to our node, by network.
|
||||
std::array<uint64_t, m_networks.size()> counts{{}};
|
||||
for (const UniValue& node : nodes) {
|
||||
std::string network_name{node["network"].get_str()};
|
||||
if (network_name == "onion") {
|
||||
network_name = node["address"].get_str().size() > 22 ? "torv3" : "torv2";
|
||||
}
|
||||
const int8_t network_id{NetworkStringToId(network_name)};
|
||||
if (network_id == UNKNOWN_NETWORK) continue;
|
||||
++counts.at(network_id);
|
||||
|
||||
Reference in New Issue
Block a user