On Wed, Nov 17, 2021 at 08:05:55PM +0000, n1ms0s via bitcoin-dev wrote: > This seems to be the case. I saw your reply on Bitcoin StackExchange > as well. In bitcoinj I just made it so the client only connects to > nodes with at least protocol version 70016. Seems to work well. Hi, This is a clever solution, but when I looked into this I found that P2P protocol version 70016 was introduced in Bitcoin Core version 0.21.0[1]. This release will not ever relay taproot spends because it doesn't contain taproot activation parameters[2]. So this heuristic is imperfect: it only works when it happens to connect to the 0.21.1 and 22.0 versions of Bitcoin Core (or compatible nodes) which were programmed to begin relaying taproot spends starting one block before activation. Can anyone recommend a better heuristic lite wallets can use to ensure they're connecting to a taproot-activated node? (If not, maybe this is something we want nodes to advertise during activation of future protocol extensions.) Thanks, -Dave [1] https://github.com/bitcoin/bitcoin/commit/ccef10261efc235c8fcc8aad54556615b0cc23be https://bitcoincore.org/en/releases/0.21.0/ [2] https://github.com/bitcoin/bitcoin/pull/20165