Merge bitcoin/bitcoin#22544: cli -addrinfo: drop torv2; torv3 becomes onion per GetNetworkName()

49d503aefa doc: update -addrinfo in release-notes.md and tor.md (Jon Atack)
75ea9ecf11 cli -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 ACK 49d503aefa
  Zero-1729:
    tACK 49d503aefa 🧉
  klementtan:
    Code review and tested ACK 49d503aefa

Tree-SHA512: bca52520d8b12c26f1c329d661b9e22c567954ed2af7d2a16d7669eae1a221eada20944f8b2f4e78e31a7190d5f3d3fbfd37509e5edf2d9a3747a0a8f4e375bb
This commit is contained in:
W. J. van der Laan 2021-09-16 18:43:42 +02:00
commit 0de84b7328
No known key found for this signature in database
GPG key ID: 1E4AED62986CD25D
3 changed files with 9 additions and 9 deletions

View file

@ -91,6 +91,10 @@ Tools and Utilities
- Update `-getinfo` to return data in a user-friendly format that also reduces vertical space. (#21832)
- CLI `-addrinfo` now returns a single field for the number of `onion` addresses
known to the node instead of separate `torv2` and `torv3` fields, as support
for Tor V2 addresses was removed from Bitcoin Core in 22.0. (#22544)
Wallet
------

View file

@ -23,10 +23,9 @@ There are several ways to see your local onion address in Bitcoin Core:
You may set the `-debug=tor` config logging option to have additional
information in the debug log about your Tor configuration.
CLI `-addrinfo` returns the number of addresses known to your node per network
type, including Tor v2 and v3. This is useful to see how many onion addresses
are known to your node for `-onlynet=onion` and how many Tor v3 addresses it
knows when upgrading to Bitcoin Core v22.0 and up that supports Tor v3 only.
CLI `-addrinfo` returns the number of addresses known to your node per
network. This can be useful to see how many onion peers your node knows,
e.g. for `-onlynet=onion`.
## 1. Run Bitcoin Core behind a Tor proxy

View file

@ -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);