There are currently three different ways to do this: raw transactions, PSBT in 0.17, and PSBT in 0.18. I recommend that you use PSBT in 0.18 as it is the least hassle, but I will describe all three here for you.
Traditionally, you would do this with createrawtransaction, fundrawtransaction, and signrawtransactionwithkey/signrawtransactionwithwallet. One ...
According to the Bitcoin Wiki:
Pay to script hash (P2SH) transactions were standardised in BIP 16.
BIP 16 describes the construction of this transaction type and has links to a reference implementation.
Googling Bitcoin-Cli P2SH VIN leads to Bitcoin basics: what are vout, vin, scriptPubKey? which seems to be a useful overview.
I suspect it's considered tacky in programmer circles to post an answer to one's own question, but in this case my mistake was rather dangerous so I'd like to share the details with y'all.
My question stated that the public 'push tx' APIs weren't giving viable error messages after refusing my hex-formatted raw transactions. The answer from Mr. Chow ...
It's valid. In fact, pasting the transaction here actually shows a little checkmark next to the "signed" icon indicating a proper signature.
It is not valid. That website did not validate anything. It just checked whether there was something in the scriptWitness field, and if there was, it was marked as signed. That checkmark does not mean that it is valid....
Assuming the two private keys are unrelated, the answer is no.
The reason for this is simple: there are 3 unknowns (the two private keys, and the single secret k value), but only two equations (the ECDSA validation equation for both signatures).
If a relation is known between the two private keys (like one is twice the other, or one is one higher than the ...
You can't just give Bitcoin Core the redeemScript, it won't know what to do with it. The only valid thing to give it is an address, but you have not given it an address. You need to convert your redeemScript into a P2SH address first, then you give it that address.
You can use the decodescript command to get both the p2sh and p2wsh addresses for your ...