user12533: Does sending funds to a multisig address require different script than the one used for ordinary addresses? If yes, how should this script look like? (Under multisig address I mean Bitcoin script hash which starts with 3 instead of 1).
I write a bitcoin library in Scala for research purposes which can be found here: https://github.com/ahahaebat/BitScala. Current code creates correct transactions for ordinary addresses but fails to do so for multisig ones.
Currently the script is the same for both types of addresses:
OP_DUP, OP_HASH160, address_hash, OP_EQUALVERIFY, OP_CHECKSIG  
Should I change it somehow for multisig addresses?

user12983: Yes. Script for P2SH should be:
OP_HASH160, address_hash, OP_EQUAL


12533: <p>Does sending funds <strong>to</strong> a multisig address require different script than the one used for ordinary addresses? If yes, how should this script look like? (Under multisig address I mean Bitcoin script hash which starts with 3 instead of 1).</p>

<p>I write a bitcoin library in Scala for research purposes which can be found here: <a href="https://github.com/ahahaebat/BitScala" rel="nofollow">https://github.com/ahahaebat/BitScala</a>. Current code creates correct transactions for ordinary addresses but fails to do so for multisig ones.</p>

<p>Currently the script is the same for both types of addresses:<br>
OP_DUP, OP_HASH160, address_hash, OP_EQUALVERIFY, OP_CHECKSIG  </p>

<p>Should I change it somehow for multisig addresses?</p>
 12983: <p>Yes. Script for P2SH should be:</p>

<pre><code>OP_HASH160, address_hash, OP_EQUAL
</code></pre>
