block: use utils.dsha256 instead of hash.js for merkle tree building.
This commit is contained in:
parent
60a9e556f8
commit
2d7599d2d3
@ -1,5 +1,4 @@
|
||||
var bcoin = require('../bcoin');
|
||||
var hash = require('hash.js');
|
||||
var utils = bcoin.utils;
|
||||
|
||||
function Block(data, subtype) {
|
||||
@ -160,18 +159,6 @@ Block.fromJSON = function fromJSON(json) {
|
||||
return block;
|
||||
};
|
||||
|
||||
Block.prototype._phash = function phash(p1begin, p1end, p2begin, p2end) {
|
||||
var pblank = '';
|
||||
var hash1 = hash.sha256();
|
||||
hash1.update(p1begin === p1end ? pblank : p1begin, 'hex');
|
||||
hash1.update(p2begin === p2end ? pblank : p2begin, 'hex');
|
||||
hash1 = hash1.digest('hex');
|
||||
var hash2 = hash.sha256();
|
||||
hash2.update(hash1, 'hex');
|
||||
hash2 = hash2.digest('hex');
|
||||
return hash2;
|
||||
};
|
||||
|
||||
Block.prototype._buildMerkle = function buildMerkle() {
|
||||
var merkleTree = [];
|
||||
for (var i = 0; i < this.txs.length; i++) {
|
||||
@ -181,9 +168,8 @@ Block.prototype._buildMerkle = function buildMerkle() {
|
||||
for (var size = this.txs.length; size > 1; size = ((size + 1) / 2) | 0) {
|
||||
for (var i = 0; i < size; i += 2) {
|
||||
var i2 = Math.min(i + 1, size - 1);
|
||||
merkleTree.push(
|
||||
this._phash(merkleTree[j+i], merkleTree[j+i+1],
|
||||
merkleTree[j+i2], merkleTree[j+i2+1]));
|
||||
var hash = utils.dsha256(merkleTree[j+i] + merkleTree[j+i2], 'hex');
|
||||
merkleTree.push(utils.toHex(hash));
|
||||
}
|
||||
j += size;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user