3

I have an old wallet from 10+ years ago. It was created using an old version of Bitcoin Core before deterministic wallets were a thing. I have it now on an offline computer that has Bitcoin Core 21.0.0 on it. I installed Core 21 and synced the computer before loading the wallet a couple of years ago and haven't synced it since, but also haven't done any transactions with the UTXOs in that wallet since then either. When I loaded the wallet after syncing the computer, the balance for the total wallet was what I was expecting.

I have set up another computer with Bitcoin Core 24.0.1 on it. My plan is to set up a watch only wallet on this computer, bring in the public addresses from the old wallet and create PSBTs (using coin control) on the watch only wallet, which I will then transfer for signing on the offline computer. And then bring back the signed PSBTs to broadcast from the online computer.

My concerns are :

  1. Will there be any issues with bringing over what I need for the watch only wallet on the Core 24.0.1 computer from the old non-deterministic wallet which was created with a very old version of Bitcoin Core (even though it's now operating under 21.0.0) ? And what exactly do I need to bring over ?
  2. Do I need to be careful with change addresses ?
  3. Is there anything else I need to worry about, and/or should I be going about this a different way ?

Thank you in advance.

Sarlat
  • 31
  • 3
  • 1
    What prevents you from simply creating the PSBT on the 0.21 node? I assume you intend to sweep your coins to a more recent wallet? – Antoine Poinsot May 09 '23 at 06:04
  • Good question. I've done a little reading and found [this Q&A](https://bitcoin.stackexchange.com/questions/112395/create-a-psbt-using-the-bitcoincore-client) where @AndrewChow described how bitcoin-qt only allows creating a PSBT on a 'wallet with private keys disabled' (i.e. watch only wallet). So that's why I'd planned to do it the way I outlined above. But I guess you're suggesting that I do it all on the 0.21 node using the command line instead, where there's perhaps that ability ? If that's the case then I'd be open to doing it that way. What are the commands involved ? – Sarlat May 09 '23 at 07:14
  • 1
    Depends. What are you trying to achieve? Sweep all your coins? Any constraint? – Antoine Poinsot May 09 '23 at 07:27
  • I want to initially move all coins in just one address (one UTXO) to an exchange. (So aim there would be to not generate any change, as that might complicate things on such an old wallet, I think?) But I also want to start sweeping _all_ the coins from the old wallet into a deterministic wallet (which I should have done long ago). – Sarlat May 09 '23 at 08:19
  • 2
    One way of achieving both is to upgrade to Bitcoin Core version 24.0.1 and to use the `migratewallet` command. **Make sure to backup your wallet beforehand.** See https://github.com/bitcoin/bitcoin/blob/master/doc/managing-wallets.md#migrating-legacy-wallets-to-descriptor-wallets. Then you can use the `sendall` command to sweep the wallet to a single address. (Be aware of the privacy implications of merging all your coins into one.) Note you may be able to use `sendall` without migrating the wallet. I'm just mentioning the migration because you said you'd like to migrate to a modern wallet. – Antoine Poinsot May 09 '23 at 08:28
  • Thank you for that info. Will read up on the `migratewallet` command, which I was previously unaware of. And I see now that I've used the wrong word in my reply above. I actually _don't_ want to sweep all the coins in the old wallet to one address, due to privacy concerns as you mention. I meant there that I want to move all the coins into a deterministic wallet, but keep the coins in separate (new) addresses, as they were in the old wallet. – Sarlat May 09 '23 at 08:35

0 Answers0