mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-04-21 20:28:59 +02:00
Merge #19954: Complete the BIP155 implementation and upgrade to TORv3
dcf0cb4776tor: make a TORv3 hidden service instead of TORv2 (Vasil Dimov)353a3fdaadnet: advertise support for ADDRv2 via new message (Vasil Dimov)201a4596d9net: CAddress & CAddrMan: (un)serialize as ADDRv2 (Vasil Dimov)1d3ec2a1fdSupport bypassing range check in ReadCompactSize (Pieter Wuille) Pull request description: This PR contains the two remaining commits from #19031 to complete the [BIP155](https://github.com/bitcoin/bips/blob/master/bip-0155.mediawiki) implementation: `net: CAddress & CAddrMan: (un)serialize as ADDRv2` `net: advertise support for ADDRv2 via new message` plus one more commit: `tor: make a TORv3 hidden service instead of TORv2` ACKs for top commit: jonatack: re-ACKdcf0cb4776per `git diff 9b56a68 dcf0cb4` only change since last review is an update to the release notes which partially picked up the suggested text. Running a node on this branch and addnode-ing to 6 other Tor v3 nodes, I see "addrv2" and "sendaddrv2" messages in getpeerinfo in both the "bytesrecv_per_msg" and "bytessent_per_msg" JSON objects. sipa: ACKdcf0cb4776hebasto: re-ACKdcf0cb4776, the node works flawlessly in all of the modes: Tor-only, clearnet-only, mixed. laanwj: Edit: I have to retract this ACK for now, I'm having some problems with this PR on a FreeBSD node. It drops all outgoing connections with thisdcf0cb4776merged on master (12a1c3ad1a). ariard: Code Review ACKdcf0cb4Tree-SHA512: 28d4d0d817b8664d2f4b18c0e0f31579b2f0f2d23310ed213f1f436a4242afea14dfbf99e07e15889bc5c5c71ad50056797e9307ff8a90e96704f588a6171308
This commit is contained in:
@@ -58,7 +58,7 @@ Subdirectory | File(s) | Description
|
||||
`./` | `guisettings.ini.bak` | Backup of former [GUI settings](#gui-settings) after `-resetguisettings` option is used
|
||||
`./` | `ip_asn.map` | IP addresses to Autonomous System Numbers (ASNs) mapping used for bucketing of the peers; path can be specified with the `-asmap` option
|
||||
`./` | `mempool.dat` | Dump of the mempool's transactions
|
||||
`./` | `onion_private_key` | Cached Tor onion service private key for `-listenonion` option
|
||||
`./` | `onion_v3_private_key` | Cached Tor onion service private key for `-listenonion` option
|
||||
`./` | `peers.dat` | Peer IP address database (custom format)
|
||||
`./` | `settings.json` | Read-write settings set through GUI or RPC interfaces, augmenting manual settings from [bitcoin.conf](bitcoin-conf.md). File is created automatically if read-write settings storage is not disabled with `-nosettings` option. Path can be specified with `-settings` option
|
||||
`./` | `.cookie` | Session RPC authentication cookie; if used, created at start and deleted on shutdown; can be specified by `-rpccookiefile` option
|
||||
@@ -100,6 +100,7 @@ Path | Description | Repository notes
|
||||
`blkindex.dat` | Blockchain index BDB database; replaced by {`chainstate/`, `blocks/index/`, `blocks/revNNNNN.dat`<sup>[\[2\]](#note2)</sup>} in 0.8.0 | [PR #1677](https://github.com/bitcoin/bitcoin/pull/1677)
|
||||
`blk000?.dat` | Block data (custom format, 2 GiB per file); replaced by `blocks/blkNNNNN.dat`<sup>[\[2\]](#note2)</sup> in 0.8.0 | [PR #1677](https://github.com/bitcoin/bitcoin/pull/1677)
|
||||
`addr.dat` | Peer IP address BDB database; replaced by `peers.dat` in [0.7.0](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.7.0.md) | [PR #1198](https://github.com/bitcoin/bitcoin/pull/1198), [`928d3a01`](https://github.com/bitcoin/bitcoin/commit/928d3a011cc66c7f907c4d053f674ea77dc611cc)
|
||||
`onion_private_key` | Cached Tor onion service private key for `-listenonion` option. Was used for Tor v2 services; replaced by `onion_v3_private_key` in [0.21.0](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.21.0.md) | [PR #19954](https://github.com/bitcoin/bitcoin/pull/19954)
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -60,6 +60,14 @@ From Bitcoin Core 0.20.0 onwards, macOS versions earlier than 10.12 are no
|
||||
longer supported. Additionally, Bitcoin Core does not yet change appearance
|
||||
when macOS "dark mode" is activated.
|
||||
|
||||
The node's known peers are persisted to disk in a file called `peers.dat`. The
|
||||
format of this file has been changed in a backwards-incompatible way in order to
|
||||
accommodate the storage of Tor v3 and other BIP155 addresses. This means that if
|
||||
the file is modified by 0.21.0 or newer then older versions will not be able to
|
||||
read it. Those old versions, in the event of a downgrade, will log an error
|
||||
message that deserialization has failed and will continue normal operation
|
||||
as if the file was missing, creating a new empty one. (#19954)
|
||||
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
@@ -74,6 +82,17 @@ P2P and network changes
|
||||
node using P2P relay. This version reduces the initial broadcast guarantees
|
||||
for wallet transactions submitted via P2P to a node running the wallet. (#18038)
|
||||
|
||||
- The Tor onion service that is automatically created by setting the
|
||||
`-listenonion` configuration parameter will now be created as a Tor v3 service
|
||||
instead of Tor v2. The private key that was used for Tor v2 (if any) will be
|
||||
left untouched in the `onion_private_key` file in the data directory (see
|
||||
`-datadir`) and can be removed if not needed. Bitcoin Core will no longer
|
||||
attempt to read it. The private key for the Tor v3 service will be saved in a
|
||||
file named `onion_v3_private_key`. To use the deprecated Tor v2 service (not
|
||||
recommended), then `onion_private_key` can be copied over
|
||||
`onion_v3_private_key`, e.g.
|
||||
`cp -f onion_private_key onion_v3_private_key`. (#19954)
|
||||
|
||||
Updated RPCs
|
||||
------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user