Witness Signature of p2sh input

73 views
Skip to first unread message

Wojciech Koszycki

unread,
Jul 27, 2022, 2:03:29 PM7/27/22
to bitcoinj
Hi I am trying to sign offline transaction but I am unable to produce same txinwitness signature as one from bitcoinD

Previous signed raw tx
020000000001015797980ff2f624222194f7c22a342327808ca67a318c973ac6caac94d28046ee0000000000ffffffff02002d31010000000017a9147077da001f2ee51c5b77592a37d5f918e3062d098718c1d42801000000160014066696af1cb58ca5d3a96b891533f4950d76e15902473044022035091e8ccd9a5c5139d9ce392fbc4a85ca87343ed75d85628ce988f775b00c16022025df64931cfef46fed4762817ef773b1f3c93f582d3015b319df0252871c97190121028a2a2ec0f032aa9523588c88f7bcf306b2094c8e6b1f0cd868524a12efbdb4ca00000000
 
bitcoinj_prev_tx.png

Unsigned new transaction:
020000000105555ec7e8a632ef2d4a33d8ddd473c6b7587d26f97585f34cbaa4cfebf1df180000000000ffffffff0118293101000000001976a914c9474e9a88e5b0c053e5eedeff9ee35929c3e4c088ac00000000
bitcoinj_newtransaction.png

Tx comparision after signing bitcoinJ vs BitcoinD (only differences is signature)
compare_signed.png

Code for signing 
ksnip_20220727-112101.png

Key info 
ksnip_20220727-112344.png

Which kind of outputscript should be included into TransactionSignature generation to produce same signature as in bitcoinD (please note that same flags amount and index were used when signing with BitcoinD Sighash.ALL anyonecanPay false)

Textual represenation of data 

def unsigned = "02000000015627efac658c473eeebc2659ffcab0856744805dcb434cd79dc9ee079a43f6270000000000ffffffff011829310100000000160014e94f7e3e35eec622cf396f663287d132c0e85fd500000000"
def expected = "020000000001015627efac658c473eeebc2659ffcab0856744805dcb434cd79dc9ee079a43f6270000000000ffffffff011829310100000000160014e94f7e3e35eec622cf396f663287d132c0e85fd50247304402205346fbdb85f423d3e0041d1f866548b9cb73e4556b17d10dd387ffa82680b82302204001bcbe87edebcbfd0bd0147723317176842ec2c7f65666fb467a6df7e3e13d0121031eed6c0c8cc732b752012e731e09744ce334ee7ddc44bef649b56f18de38c35400000000"
def address = "bcrt1q22jrm4cxrf63gvak6syvy8m0sa2rk94pcjeymk"
def privateKey = "cScEQQPh7YjeJX4UVs8uiG2cwnxrpU3iXyVDuGCmd4NF4KkUK1p9"
def amountOfInput = 20000000L
Reply all
Reply to author
Forward
0 new messages