I just created this transaction
01000000
01
b25674cb772bc4a788a9da826609672175b9f02bab3b252446b2357f01115d9f
00000000
1976a9147db9fbceb81b5dc4cbcc84ab6b0cd9e57d1e392588ac
fffffff
01
204E000000000000
23
a8
20
9c0f28fc262f58e9ad1f021ab707662cad96c754ecf3ad43be5c26e49c081233
87
00000000
I tried to sign it with the corresponding private key of 12ZMT7Qn2rysM3XKxkSBrVfzdXXufoS13t and it failed why? I need help ASAP.
The input script is wrong. 1976a9147db9fbceb81b5dc4cbcc84ab6b0cd9e57d1e392588ac corresponds to the address 1CTnGM9uapUSg8wvdXkpJPG2nbfGcxytPF, but the input you are referencing is the address 12ZMT7Qn2rysM3XKxkSBrVfzdXXufoS13t, so you need to change the 1976.... to that address, which would be 1976a914111681ec5a5138c0e2348a346e90db822d2c70dc88ac.
Additionally, you understand you aren't required to SIGN anything for that output, right? All somebody needs to do is know the reverse of that hash. There is no signature required to claim that money. If the data that creates that hash is a public key, you need to change
OP_SHA256 ... OP_EQUAL
to
OP_DUP OP_SHA256 ... OP_EQUALVERIFY OP_CHECKSIG
if you want a public key and its signature required.
Also, I would recommend OP_HASH256, aka double sha256, instead of a single sha256 for your output. For all the same reasons normal bitcoin mining stuff does double sha256. So change the a8 to aa and the hash to d90169532083120128c4e2c0e5ad29ee3d4aff5cb7d65a54384fddd65a6de727
(Although now with that hash being publicly known, it doesn't really matter, but in the future I'd recommend double sha256.)
Edit: Sorry, I had only finished page 1, and didn't see other people had corrected the input error.