flocore-node/lib/services/block/encoding.js
Chris Kleeschulte 58a5c14cdf wip
2017-06-23 07:33:54 -04:00

28 lines
707 B
JavaScript

'use strict';
var Block = require('bitcore-lib').Block;
// stores -- block header as key, block itself as value (optionally)
function Encoding(servicePrefix) {
this.servicePrefix = servicePrefix;
}
Encoding.prototype.encodeBlockKey = function(header) {
var headerBuf = new Buffer(JSON.stringify(header), 'utf8');
return Buffer.concat([ this.servicePrefix, headerBuf ]);
};
Encoding.prototype.decodeBlockKey = function(buffer) {
return JSON.parse(buffer.slice(2).toString('utf8'));
};
Encoding.prototype.encodeBlockValue = function(block) {
return block.toBuffer();
};
Encoding.prototype.decodeBlockValue = function(buffer) {
return Block.fromBuffer(buffer);
};
module.exports = Encoding;