-snip-
Here is where im not sure how do you do it at least in the GUI. Looks like there's some command called
finalizepsbt but im not sure about that. I mean I guess there is some way to finish it in the GUI.
You load the non-finalized but signed PSBT via the same menu: "
File->Load PSBT from..." and there should be a broadcast button there.
BTW, since you're using it on a watch-only wallet, there's no reason to enable the option since "
Send" would be available anyways.
For
finalizepsbt, it should be done in the offline wallet so the PSBT can be fully signed and encoded into serialized raw transaction.
But it can't be broadcasted in the GUI, so use
sendrawtransaction if you do that.
Right so just to summarize this whole workflow in a step by step list
1) Go on the watch-only wallet and with Coin Control pick addresses as needed.
2) Click on "Create unsigned" and save .psbt file (should you also save the raw hash thing created there? not sure what the name of this string is, I mean just in case the psbt file became corrupted or something)
3) Get this file into the airgap laptop and sign with the "File->Load PSBT from file..." GUI menu by clicking on "Sign Tx"
4) Save this now signed and move it back into watch-only laptop wallet
5) Load the file with "File->Load PSBT from file..." and click on "Broadcast Tx"
Observations: I was a bit confused at how the exact same filename and file extension describes both an actual particially signed bitcoin tx and also a signed bitcoin tx. Im not sure if it would make sense to have a .sbt extension just to not confuse people or at least add a "signed-" prefix when saving the signed tx .psbt file, so you do not accidentally overwrite or just confuse files. Only if you are dealing with the "copy to clickboard" method you see the difference, or if you pay attention to the file size since the signed .psbt file will always be bigger, but on face value it saves the exact same filename with same file extension, I think auto signed-prefix could be easy and useful there.
Also, it appears the filename format saves as: "[changeAddress]-[amount]-[destinationAddress]-[amount]", just to confirm this is correct, it appears it is.
After testing this a few times in testnet, overall, very useful feature, compared to back then manually crafting raw transactions, seems to work well. You are always a bit paranoid and want to do everything on the shell, but that also adds a risk that you enter the wrong decimal point or copypaste the wrong address or something, so I think I will use this. There's also some paranoid concern about the new wallet format vs the older one in terms of how keys are dealt with. But overall, it is an interesting and useful workflow there. This is what Bitcoin devs should work on, not facilitate spam on the network.