Finally, I've successfully made a raw transaction with Python and this is the last thing, which is totally mistic for me.
In my case, here's the input transaction and it's locking script is:
OP_DUP OP_HASH160 dab3cccc50d7ff2d1d2926ec85ca186e61aef105 OP_EQUALVERIFY OP_CHECKSIG
Why it's necessary to set up the unlocking script to the input's locking script before signing? In my understanding, all the stuff should work well even with blank locking script, because in fact we're signing only other parameters. Unlocking script
and unlocking script lenght
will be changed anyway, so what's the reason?