i don't know if there is an error in the scriptsig generation method of input in p2psh

0

I don't know if there is an error in the scriptsig generation method of input in P2PSH.

My address is a single signing address with one Private key, I created a transaction that will generate hex string via Bitcoinj.

script = ScriptBuilder.createOutputScript(key.getAddress(params));
Sha256Hash hashForSign = transaction.hashForSignature(i, script, SigHash.ALL, false);
ECDSASignature signature = eckey.sign(hashForSign);
TransactionSignature tranSign = new TransactionSignature(signature, SigHash.ALL, false);
scriptSig = ScriptBuilder.createInputScript(tranSign, eckey);

But it is not the same as the hex string generated by the client RPC, but I don't know where it is wrong.

I will be very grateful if you can help me.

guorui an

Posted 2018-10-24T08:22:36.410

Reputation: 1

Answers

1

ECDSA signatures are not deterministic unless you are using a deterministic signature scheme. Meaning that signing the same data with the same key produce different (valid) signatures.

I don't know if Bitcoinj uses such a scheme so If only the signature bytes in the transaction are different it is probably fine.

Mike D

Posted 2018-10-24T08:22:36.410

Reputation: 1 571