itns-sidechain/scripts/dump.js

47 lines
1.1 KiB
JavaScript
Raw Normal View History

2016-12-10 19:42:46 -08:00
'use strict';
2016-11-25 21:23:31 -08:00
var fs = require('fs');
var heapdump = require('heapdump');
var MempoolEntry = require('../lib/mempool/mempoolentry');
2016-12-10 21:51:56 -08:00
var Coins = require('../lib/coins/coins');
2016-11-25 21:23:31 -08:00
var TX = require('../lib/primitives/tx');
2016-12-10 21:51:56 -08:00
var CoinView = require('../lib/coins/coinview');
2016-11-25 21:23:31 -08:00
var SNAPSHOT = __dirname + '/../dump.heapsnapshot';
var tx = parseTX('../test/data/tx4.hex');
2016-12-10 19:42:46 -08:00
var raw, coins, entry;
2016-11-25 21:23:31 -08:00
function parseTX(file) {
2016-12-10 19:42:46 -08:00
var data = fs.readFileSync(__dirname + '/' + file, 'utf8');
2016-11-25 21:23:31 -08:00
var parts = data.trim().split(/\n+/);
2016-12-10 19:42:46 -08:00
var raw = parts[0];
var tx = TX.fromRaw(raw.trim(), 'hex');
var view = new CoinView();
var i, prev;
2016-11-25 21:23:31 -08:00
for (i = 1; i < parts.length; i++) {
2016-12-10 19:42:46 -08:00
raw = parts[i];
prev = TX.fromRaw(raw.trim(), 'hex');
view.addTX(prev, -1);
2016-11-25 21:23:31 -08:00
}
2016-12-10 19:42:46 -08:00
return { tx: tx, view: view };
2016-11-25 21:23:31 -08:00
}
2016-12-10 19:42:46 -08:00
raw = Coins.fromTX(tx.tx, 0).toRaw();
2017-02-28 20:53:33 -08:00
coins = Coins.fromRaw(raw, tx.tx.hash('hex'));
entry = MempoolEntry.fromTX(tx.tx, tx.view, 1000000);
2016-11-25 21:23:31 -08:00
setInterval(function() {
console.log(tx.hash('hex'));
console.log(coins.hash);
console.log(entry.tx);
2017-01-06 21:21:37 -08:00
}, 60 * 1000);
2016-11-25 21:23:31 -08:00
setImmediate(function() {
heapdump.writeSnapshot(SNAPSHOT, function(err) {
if (err)
throw err;
});
});