UNPKG

n-multi-hashing

Version:

A re-write of the Node Multi Hashing library, which provides Javascript bindings for C/C++ based hashing algorithms.

33 lines 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.serializeHeader = exports.reverseBytes = void 0; const reverseBuffer = (buff) => { const reversed = Buffer.alloc(buff.length); for (let i = buff.length - 1; i >= 0; i--) reversed[buff.length - i - 1] = buff[i]; return reversed; }; const reverseBytes = (buffer, output) => { output = output || buffer; const halfLen = buffer.length / 2; for (let i = 0; i < halfLen; i++) { const byte = buffer[i]; output[i] = buffer[buffer.length - i - 1]; output[buffer.length - i - 1] = byte; } return output; }; exports.reverseBytes = reverseBytes; const serializeHeader = (rpcData, merkleRoot, nTime, nonce) => { const header = Buffer.alloc(80); let position = 0; header.write(nonce, position, 4, 'hex'); header.write(rpcData.bits, (position += 4), 4, 'hex'); header.write(nTime, (position += 4), 4, 'hex'); header.write(merkleRoot, (position += 4), 32, 'hex'); header.write(rpcData.previousBlockHash, (position += 32), 32, 'hex'); header.writeUInt32BE(rpcData.version, position + 32); return reverseBuffer(header); }; exports.serializeHeader = serializeHeader; //# sourceMappingURL=utils.js.map