attempt to use tx block caching again.
This commit is contained in:
parent
3cbc54bcde
commit
d37be97ad9
|
@ -394,29 +394,22 @@ Bitcoin.prototype.getTx = function(txHash, blockHash, callback) {
|
||||||
blockHash = '';
|
blockHash = '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return bitcoinjs.getTransaction(txHash, blockHash, function(err, tx) {
|
|
||||||
if (err) return callback(err);
|
|
||||||
bitcoin.db.set('tx-block/' + txHash, { hash: tx.blockhash }, utils.NOOP);
|
|
||||||
return callback(null, bitcoin.tx(tx));
|
|
||||||
});
|
|
||||||
if (blockHash && typeof blockHash === 'string') {
|
if (blockHash && typeof blockHash === 'string') {
|
||||||
return bitcoindjs.getTransaction(txHash, blockHash, function(err, tx) {
|
return bitcoindjs.getTransaction(txHash, blockHash, function(err, tx) {
|
||||||
if (err) return callback(err);
|
if (err) return callback(err);
|
||||||
bitcoin.db.set('tx-block/' + txHash, { hash: blockHash }, utils.NOOP);
|
bitcoin.db.set('tx-block/' + txHash,
|
||||||
|
{ hash: blockHash }, utils.NOOP);
|
||||||
return callback(null, bitcoin.tx(tx));
|
return callback(null, bitcoin.tx(tx));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return bitcoin.db.get('tx-block/' + txHash, function(err, block) {
|
return bitcoin.db.get('tx-block/' + txHash, function(err, block) {
|
||||||
if (block) {
|
// Will traverse blockchain if no block - slow:
|
||||||
return bitcoinjs.getTransaction(txHash, block.hash, function(err, tx) {
|
return bitcoinjs.getTransaction(txHash, block ? block.hash : '', function(err, tx) {
|
||||||
if (err) return callback(err);
|
|
||||||
return callback(null, bitcoin.tx(tx));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// Will traverse blockchain - slow:
|
|
||||||
return bitcoinjs.getTransaction(txHash, blockHash, function(err, tx) {
|
|
||||||
if (err) return callback(err);
|
if (err) return callback(err);
|
||||||
bitcoin.db.set('tx-block/' + txHash, { hash: tx.blockhash }, utils.NOOP);
|
if (!block) {
|
||||||
|
bitcoin.db.set('tx-block/' + txHash,
|
||||||
|
{ hash: tx.blockhash }, utils.NOOP);
|
||||||
|
}
|
||||||
return callback(null, bitcoin.tx(tx));
|
return callback(null, bitcoin.tx(tx));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue