commit
af6528e1f1
|
@ -2,18 +2,18 @@
|
|||
|
||||
var benchmark = require('benchmark');
|
||||
var async = require('async');
|
||||
var memdown = require('memdown');
|
||||
var Block = require('../lib/block');
|
||||
var AddressModule = require('../lib/modules/address');
|
||||
var DB = require('../lib/db');
|
||||
var sinon = require('sinon');
|
||||
var bitcore = require('bitcore');
|
||||
var Block = bitcore.Block;
|
||||
var AddressService = require('../lib/services/address');
|
||||
var maxTime = 20;
|
||||
|
||||
var blockData1 = require('./data/block-367238.json');
|
||||
var blockData2 = require('./data/block-367239.json');
|
||||
var blockData3 = require('./data/block-367240.json');
|
||||
|
||||
console.log('Benchmarking Address Block Handler');
|
||||
console.log('----------------------------------');
|
||||
console.log('Address Service Block Handler');
|
||||
console.log('-----------------------------');
|
||||
|
||||
async.series([
|
||||
function(next) {
|
||||
|
@ -25,15 +25,21 @@ async.series([
|
|||
Block.fromBuffer(new Buffer(blockData3, 'hex'))
|
||||
];
|
||||
var blocksLength = 3;
|
||||
var db = new DB({store: memdown});
|
||||
var addressModule = new AddressModule({db: db});
|
||||
var node = {
|
||||
services: {
|
||||
bitcoind : {
|
||||
on: sinon.stub()
|
||||
}
|
||||
}
|
||||
};
|
||||
var addressService = new AddressService({node: node});
|
||||
|
||||
function blockHandler(deffered) {
|
||||
if (c >= blocksLength) {
|
||||
c = 0;
|
||||
}
|
||||
var block = blocks[c];
|
||||
addressModule.blockHandler(block, true, function(err, operations) {
|
||||
addressService.blockHandler(block, true, function(err, operations) {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ var bitcoin = require('bitcoin');
|
|||
var async = require('async');
|
||||
var maxTime = 20;
|
||||
|
||||
console.log('Benchmarking Bitcoind.js native interface versus Bitcoind JSON RPC interface');
|
||||
console.log('Bitcoin Service native interface vs. Bitcoin JSON RPC interface');
|
||||
console.log('----------------------------------------------------------------------');
|
||||
|
||||
// To run the benchmarks a fully synced Bitcore Core directory is needed. The RPC comands
|
||||
|
@ -26,22 +26,29 @@ var fixtureData = {
|
|||
]
|
||||
};
|
||||
|
||||
var bitcoind = require('../').daemon({
|
||||
datadir: process.env.BITCORENODE_DIR || '~/.bitcoin',
|
||||
network: 'testnet'
|
||||
var bitcoind = require('../').services.Bitcoin({
|
||||
node: {
|
||||
datadir: process.env.HOME + '/.bitcoin',
|
||||
network: {
|
||||
name: 'testnet'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
bitcoind.on('error', function(err) {
|
||||
bitcoind.log('error="%s"', err.message);
|
||||
console.error(err.message);
|
||||
});
|
||||
|
||||
bitcoind.on('open', function(status) {
|
||||
bitcoind.log('status="%s"', status);
|
||||
bitcoind.start(function(err) {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
console.log('Bitcoin Core started');
|
||||
});
|
||||
|
||||
bitcoind.on('ready', function() {
|
||||
|
||||
bitcoind.log('status="%s"', 'chaintip ready.');
|
||||
console.log('Bitcoin Core ready');
|
||||
|
||||
var client = new bitcoin.Client({
|
||||
host: 'localhost',
|
||||
|
@ -147,8 +154,16 @@ bitcoind.on('ready', function() {
|
|||
.run();
|
||||
}
|
||||
], function(err) {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
console.log('Finished');
|
||||
bitcoind.stop();
|
||||
process.exit();
|
||||
bitcoind.stop(function(err) {
|
||||
if (err) {
|
||||
console.error('Fail to stop services: ' + err);
|
||||
process.exit(1);
|
||||
}
|
||||
process.exit(0);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue