block: add toJSON and fromJSON to Block.
Signed-off-by: Fedor Indutny <fedor@indutny.com>
This commit is contained in:
parent
f3c9ebd9a5
commit
810e4f5ea7
@ -107,3 +107,30 @@ Block.prototype._verifyMerkle = function verifyMerkle() {
|
|||||||
return utils.toHex(utils.dsha256(left + right, 'hex'));
|
return utils.toHex(utils.dsha256(left + right, 'hex'));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Block.prototype.toJSON = function toJSON() {
|
||||||
|
return {
|
||||||
|
v: '1',
|
||||||
|
type: 'block',
|
||||||
|
subtype: this.subtype,
|
||||||
|
hash: this._hash || this.hash('hex'),
|
||||||
|
prevBlock: this.prevBlock,
|
||||||
|
ts: this.ts,
|
||||||
|
block: utils.toHex(bcoin.protocol.framer.block(this, this.subtype))
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
Block.fromJSON = function fromJSON(json) {
|
||||||
|
utils.assert.equal(json.v, 1);
|
||||||
|
utils.assert.equal(json.type, 'block');
|
||||||
|
|
||||||
|
var raw = utils.toArray(json.block, 'hex');
|
||||||
|
|
||||||
|
var block = new bcoin.block(json.subtype === 'merkleblock'
|
||||||
|
? new bcoin.protocol.parser().parseMerkleBlock(raw)
|
||||||
|
: new bcoin.protocol.parser().parseBlock(raw), type);
|
||||||
|
|
||||||
|
block._hash = json.hash;
|
||||||
|
|
||||||
|
return block;
|
||||||
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user