user88848: 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.

user76567: 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.

88848: <p>I don't know if there is an error in the <code>scriptsig</code> generation method of input in P2PSH.</p>

<p>My address is a single signing address with one Private key，
I created a transaction that will generate hex string via Bitcoinj.</p>

<pre><code>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);
</code></pre>

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

<p>I will be very grateful if you can help me.</p>
 76567: <p>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. </p>

<p>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.</p>
