Authentication
// Require web3 packages
const web3 = require("web3");
const Web3 = new web3();
// generates signature and messageHash
const generateSignature = async (privateKey, message) => {
const { signature, messageHash } = await Web3.eth.accounts.sign(
JSON.stringify(message),
privateKey
);
return {
message,
fyresign: signature,
messageHash
};
};
// sample request message
const message = {
"appId": "6274a30fc43e35144642a484",
"externalUserId": "456fhrghtuht374",
"eventId": "6274b4cde7556226721e620c",
"isEmail": false,
"iat": Math.floor(Date.now() / 1000); //in seconds,
"exp": Math.floor((Date.now() + (3600 * 24 * 1000)) / 1000), //valid for a day,
"metaData": {
"limit": 10, // fetching 10 records
"page": 1,
}
}
const privateKey = "0x5b79b6758d25694e8fef4f769a48f768bf838dd17fec4d9c54bcf7cd3b4a0e1a"; // generated during app's registration on Hyperfyre admin dashboard.
const { message, fyresign, messageHash } = generateSignature(privateKey, message);Last updated