2

I am trying to create a .psbt using BitcoinCore on mainnet. The use-case is that I want to be able to export the unsigned transaction, import it into my cold-storage wallet (using BitcoinCore) and sign it, to then broadcast it. I have successfully done this using Electrum as a hot wallet to generate the transaction, but would like to move away from any third party software.

Basically I am trying to follow the steps from this post, but it does not work. The problem is that BitcoinCore will recognize the balance as watch only (as it should) but when trying to create a transaction I can not find the coin inputs listed anywhere (under the Coin Control feature).

The base transaction is b69314fff08ae8b58c41d653ea212d9e1f2ecf683f0ea96ee5f9c52f22b0a189 and my address is bc1q4xuxxf6mmcyk9q3k3lufhr7rlsn9hzhrvkdgqz. For Electrum, all I had to do to generate a .psbt was importing the address. I have tried importing the address into BitcoinCore using

importaddress bc1q4xuxxf6mmcyk9q3k3lufhr7rlsn9hzhrvkdgqz

and also importing the public key using the importpubkey command, then re-scanning the wallet. Nothing worked.

I also tried the following command (and multiple variations of it) which some people claimed fixed the issue for them:

importmulti '[{"desc": "wpkh([a9b86327]0391f12147a67c291785baf634187f7ad24d4e491b07f53543a33f7705736efeb6)#jpxe908h","timestamp": "now","watchonly": true}]'

using inputs provided by getaddressinfo. Again no coin inputs were selectable after re-scanning the wallet.

Is there something I am doing wrong? I am a bit confused why BitcoinCore will not allow me to create a .psbt even though Electrum did instantly (and I was subsequently able to import and sign it using BitcoinCore).

Also, would someone be able to explain in simple terms what the desc field is doing? From what I gather, it holds a descriptor that tells the wallet how to generate addresses, but I could use a short example to understand it better.

4
  • 1
    Did you create the wallet with private keys disabled?
    – Andrew Chow
    Feb 12, 2022 at 18:17
  • No, addresses generated within the wallet have private keys (using dumpprivkey). I left the standard settings unchanged when I created it.
    – David
    Feb 12, 2022 at 18:44
  • 1
    You will need to use a wallet with private keys disabled (choose that option when creating the wallet) in order for the Create unsigned button to appear.
    – Andrew Chow
    Feb 14, 2022 at 2:18
  • Thank you, turns out this solves it. Intuitively I assumed a full-wallet would have a superset of the functionality of a watch-only one and was therefore expecting the problem to be more complex. If you like to post it as an answer, I'd accept it.
    – David
    Feb 15, 2022 at 10:12

1 Answer 1

3

The "Create Unsigned" button is only available to wallets with private keys disabled (i.e. watch only wallets). So you will need to create a new wallet and choose the "Disable private keys" option.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.