This repository provides an example of signing any arbitrary message with an R1 key and produce an Bullish compatible signature
const getSignature = require('js-signer').getSignature
import { getSignature } from 'js-signer'
// import public private keys
// for demo: keys are hardcoded here
const privateKeyString = 'PVT_R1_ENSnpAGb4NHNA2chipxHQMVnAZdEAfRzHmJFEuxFkWvCXC5CG'
const publicKeyString = 'PUB_R1_8CHJquaQWe4Pkhp1fBR9deP5wkqfjuWdfhaKYDxGKCo7gQwU9C'
// create a function to generate singature for payload
// this functions internally calls getSignature from library
const signMessage = async message => {
// create singature from payload by using getSignature from library
const signature = await getSignature(message, publicKeyString, privateKeyString)
// use the signature to add in the header of the API communication
return signature
}
async function useSignature() {
console.time('Signature generate in: ')
// retrieve signature for the message
const signature = await signMessage({ message: 'A very secret message' })
// for demo: print the signature
console.log(signature)
console.timeEnd('Signature generate in: ')
}
useSignature()