Hi,
I'm writing a c++ library to sign Bitcoin transactions (you can find it here:
https://github.com/sgeisler/EasyBitcoin).
I tryed to send a transaction from 1HikVCL5PsR75toN23yEifLqmg8uXAepoz to some other address. At the moment only
the code to sign the input is implemented, so I first created a raw transaction with coinbin and then replaced the unsigned input with the signed input generated by my script.
0100000001883971b9025799b61040fdd0bc516a4c631f8753f689962fc72980de4f2aabc8000000006a47304402207a57c1db269e2ab4706279309a4d1d91112478d92132c2580d4b6f21670dce0502200590c8be6be1616c41db4663800c3b3d9d36ffa0e4d1c7b08082b0b00f679f9a01210440af8583e795691debf6331605a444a1bd2ae3e3978b38ff1d2c7f69443b6c01ffffffff01905f0100000000001976a914ed25801aa39644aaa7fcef2944ba200e05e615be88ac00000000
Coinbin shows it as signed when I try to verify it:
verify at coinb.inBut when I try to broadcast it it shows:
64: non-canonical
I don't know what I'm doing wrong. I mainly followed this
tutorial.
Do you know if a bitcoin transaction debugger exists?
It would be great if you could help me
EDIT: I think I've found my error, I'm only hashing the input and not the whole tx (silly me), will try to hash the whole tx. But why did coinb.in accept the signature if it wasn't correct?