I'm trying to understand what a specific line of code does when signing a message using bitcoinjs-lib. Here's the code:
var bitcoin = require('bitcoinjs-lib')
var bitcoinMessage = require('bitcoinjs-message')
var keyPair = bitcoin.ECPair.makeRandom();
//private key
var privateKey = keyPair.toWIF();
// Address
var address = keyPair.getAddress();
console.log(privateKey);
console.log(address);
privateKey = keyPair.d.toBuffer(32)
var message = 'your message'
var messagePrefix = bitcoin.networks.bitcoin.messagePrefix
var signature = bitcoinMessage.sign(message, messagePrefix, privateKey, keyPair.compressed)
console.log(signature.toString('base64'))
The line I'm curious about is this one:
privateKey = keyPair.d.toBuffer(32)
What exactly is this code doing and why is it necessary?
Thanks,
Connor