0
Using BlockCypher’s signing tool (link), I can sign the following data:
05de69f5d37f41340eed3230f03d2394dde5e497738a76f027b7d962a0cbdf39
with the private key:
2fd7cab0970c692b4151d77a6aeebcae2a3284556cbfc6f182c571eccfc2424f
to get the result:
30440220352f6d47bc33e2596600c6a297a0e3e84079a9b2f16d10cb9396993370365976022062a30c63adfeef315bcfc690e254dd3b6d4f14fe9919317e14ebb15c29325326
However, I'm am not able to replicate this using javascript using the bitcoinjs-lib module. My attempt is shown below:
var bitcoin = require('bitcoinjs-lib')
var wif = require('wif')
var dataToSign = '05de69f5d37f41340eed3230f03d2394dde5e497738a76f027b7d962a0cbdf39'
var wifObj = wif.decode('KxpiD4T1QHFahGVyg9onfLXjbwBSf5Dyh3BPYY899uXQHn6gfnbz')
var keys = bitcoin.ECPair.fromPrivateKey(wifObj.privateKey)
var signed = keys.sign(Buffer.from(dataToSign, 'hex'))
var signedHex = signed.toString('hex')
1What exactly are you trying to accomplish? Are you trying to match the signatures exactly? Signatures are not always deterministic, do you get the same result running blockcypher's tool multiple times with the same data? – JBaczuk – 2019-01-11T14:29:02.937
I'm basically trying to replicate blockcypher's signing tool in javascript and I think I'm quite close... Yes, it's deterministic – timothyylim – 2019-01-11T14:35:13.547
If it uses RFC6979, signatures can be deterministic, otherwise they are probably not (and should not be). – Thorkil Værge – 2019-01-11T17:18:35.470