Complex Transaction Signing?

1

I am trying to recreate this complex transaction in my own project, but it seems my scriptSigs are off. My guess is that I am assembling the rawTX incorrectly, and my best explanation would probably come from my log:

First Input:

rawTX:
0100000002f327e86da3e66bd20e1129b1fb36d07056f0b9a117199e759396526b8f3a20780000000023210229688a74abd0d5ad3b06ddff36fa9cd8edd181d97b9489a6adc40431fb56e1d8acfffffffff0ede03d75050f20801d50358829ae02c058e8677d2cc74df51f738285013c260000000000ffffffff02f028d6dc010000001976a914ffb035781c3c69e076d48b60c3d38592e7ce06a788ac00ca9a3b000000001976a914fa5139067622fd7e1e722a05c17c2bb7d5fd6df088ac0000000001000000
doubleSHA:
aea2c2f7bfd4f12de8ade489a0354e2af93b67b538b98c040f1a630aa4be8ef9
r:
ce5dd767430d42a9df1ac88d1bfd04a3fe4cf0ca3241c0bb143e76677528b9f7
s:
6f51396eab2c5c808c00d3ce3156774fa9c5b47e7190e6193dc952ab6e89e10c
DERencoded:
483045022100ce5dd767430d42a9df1ac88d1bfd04a3fe4cf0ca3241c0bb143e76677528b9f702206f51396eab2c5c808c00d3ce3156774fa9c5b47e7190e6193dc952ab6e89e10c01210229688a74abd0d5ad3b06ddff36fa9cd8edd181d97b9489a6adc40431fb56e1d8

Second Input:

rawTX:
0100000002f327e86da3e66bd20e1129b1fb36d07056f0b9a117199e759396526b8f3a20780000000000fffffffff0ede03d75050f20801d50358829ae02c058e8677d2cc74df51f738285013c26000000001976a9149ba386253ea698158b6d34802bb9b550f5ce36dd88acffffffff02f028d6dc010000001976a914ffb035781c3c69e076d48b60c3d38592e7ce06a788ac00ca9a3b000000001976a914fa5139067622fd7e1e722a05c17c2bb7d5fd6df088ac0000000001000000
doubleSHA:
05a153824e4e0ee921cc53366334f0c9e11fd0907dc5eecbb01d1f4b0beff4ac
r:
b14bfacb90c6a4292fd0385ef94671ff26a8f14ab7086a6c1ac1ee6d64ae0cbd
s:
3ed58ef3ef635cec3fc0dde9f7d33a7d9d0029ff7c0260b7bb73364e075add75
DERencoded:
483045022100b14bfacb90c6a4292fd0385ef94671ff26a8f14ab7086a6c1ac1ee6d64ae0cbd02203ed58ef3ef635cec3fc0dde9f7d33a7d9d0029ff7c0260b7bb73364e075add75012102240d7d3c7aad57b68aa0178f4c56f997d1bfab2ded3c2f9427686017c603a6d6

My Signed Result:

FINAL:
0100000002f327e86da3e66bd20e1129b1fb36d07056f0b9a117199e759396526b8f3a2078000000006b483045022100ce5dd767430d42a9df1ac88d1bfd04a3fe4cf0ca3241c0bb143e76677528b9f702206f51396eab2c5c808c00d3ce3156774fa9c5b47e7190e6193dc952ab6e89e10c01210229688a74abd0d5ad3b06ddff36fa9cd8edd181d97b9489a6adc40431fb56e1d8fffffffff0ede03d75050f20801d50358829ae02c058e8677d2cc74df51f738285013c26000000006b483045022100b14bfacb90c6a4292fd0385ef94671ff26a8f14ab7086a6c1ac1ee6d64ae0cbd02203ed58ef3ef635cec3fc0dde9f7d33a7d9d0029ff7c0260b7bb73364e075add75012102240d7d3c7aad57b68aa0178f4c56f997d1bfab2ded3c2f9427686017c603a6d6ffffffff02f028d6dc010000001976a914ffb035781c3c69e076d48b60c3d38592e7ce06a788ac00ca9a3b000000001976a914fa5139067622fd7e1e722a05c17c2bb7d5fd6df088ac00000000

Desired Result:

0100000002f327e86da3e66bd20e1129b1fb36d07056f0b9a117199e759396526b8f3a20780000000049483045022100fce442ec52aa2792efc27fd3ad0eaf7fa69f097fdcefab017ea56d1799b10b2102207a6ae3eb61e11ffaba0453f173d1792f1b7bb8e7422ea945101d68535c4b474801fffffffff0ede03d75050f20801d50358829ae02c058e8677d2cc74df51f738285013c26000000006b483045022100b77f935ff366a6f3c2fdeb83589c790265d43b3d2cf5e5f0047da56c36de75f40220707ceda75d8dcf2ccaebc506f7293c3dcb910554560763d7659fb202f8ec324b012102240d7d3c7aad57b68aa0178f4c56f997d1bfab2ded3c2f9427686017c603a6d6ffffffff02f028d6dc010000001976a914ffb035781c3c69e076d48b60c3d38592e7ce06a788ac00ca9a3b000000001976a914fa5139067622fd7e1e722a05c17c2bb7d5fd6df088ac00000000

From this, can you tell me what is wrong? Are my rawTX's correct?

doffing81

Posted 2017-02-08T09:24:04.307

Reputation: 474

Answers

1

outputScript in 78203a8f6b529693759e1917a1b9f05670d036fbb129110ed26be6a36de827f3:0 is PUSH {pubkey} OP_CHECKSIG (p2pk) so you should put only signature in final transaction without public key

amaclin

Posted 2017-02-08T09:24:04.307

Reputation: 5 763

I did notice that it was a different transaction type, and that the varint was off, so this would explain that! I have only been working with p2pkh up until now, so I will have to account for p2pk. Still, even with this fix my signatures are still off, no? I wonder if my rawTX 's, before being double hashed, are put together correctly.doffing81 2017-02-08T11:17:07.463

signatures can be different compared byte-to-byte.amaclin 2017-02-08T11:27:20.360

I can accept that if my rawTX's are correct.doffing81 2017-02-08T11:55:33.303