insight with soop. WIP

This commit is contained in:
Matias Alejo Garcia 2014-03-05 23:03:56 -03:00
parent 1af6bb7a02
commit e19cd9f2ba
15 changed files with 2080 additions and 2138 deletions

View File

@ -7,9 +7,9 @@ var Address = require('../models/Address');
var async = require('async'); var async = require('async');
var common = require('./common'); var common = require('./common');
var TransactionDb = require('../../lib/TransactionDb').class(); var Rpc = require('../../lib/Rpc');
var BlockDb = require('../../lib/BlockDb').class(); var TransactionDb = require('../../lib/TransactionDb').default();
var Rpc = require('../../lib/Rpc').class(); var BlockDb = require('../../lib/BlockDb').default();
var tDb = new TransactionDb(); var tDb = new TransactionDb();
var bdb = new BlockDb(); var bdb = new BlockDb();

View File

@ -1,16 +1,13 @@
'use strict'; 'use strict';
require('classtool'); //var imports = require('soop').imports();
function spec() {
var async = require('async'); var async = require('async');
var BitcoreAddress = require('bitcore/Address').class(); var BitcoreAddress = require('bitcore/Address');
var BitcoreTransaction = require('bitcore/Transaction');
var BitcoreUtil = require('bitcore/util/util'); var BitcoreUtil = require('bitcore/util/util');
var TransactionDb = require('../../lib/TransactionDb').class(); var Parser = require('bitcore/util/BinaryParser');
var BitcoreTransaction = require('bitcore/Transaction').class();
var Parser = require('bitcore/util/BinaryParser').class();
var Buffer = require('buffer').Buffer; var Buffer = require('buffer').Buffer;
var TransactionDb = require('../../lib/TransactionDb').default();
var CONCURRENCY = 5; var CONCURRENCY = 5;
function Address(addrStr) { function Address(addrStr) {
@ -188,7 +185,5 @@ function spec() {
}); });
}; };
return Address; module.exports = require('soop')(Address);
}
module.defineClass(spec);

View File

@ -1,11 +1,9 @@
'use strict'; 'use strict';
//var imports = require('soop').imports();
require('classtool');
function spec() {
var async = require('async'); var async = require('async');
var RpcClient = require('bitcore/RpcClient').class(); var RpcClient = require('bitcore/RpcClient');
var BlockDb = require('../../lib/BlockDb').class(); var BlockDb = require('../../lib/BlockDb');
var config = require('../../config/config'); var config = require('../../config/config');
var rpc = new RpcClient(config.bitcoind); var rpc = new RpcClient(config.bitcoind);
@ -105,8 +103,4 @@ function spec() {
}); });
}; };
return Status; module.exports = require('soop')(Status);
}
module.defineClass(spec);

View File

@ -5,7 +5,7 @@ var util = require('util');
process.env.NODE_ENV = process.env.NODE_ENV || 'development'; process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var RpcClient = require('../node_modules/bitcore/RpcClient').class(); var RpcClient = require('../node_modules/bitcore/RpcClient');
var config = require('../config/config'); var config = require('../config/config');

View File

@ -2,7 +2,7 @@
'use strict'; 'use strict';
var util = require('util'); var util = require('util');
var T = require('../lib/TransactionDb').class(); var T = require('../lib/TransactionDb');
process.env.NODE_ENV = process.env.NODE_ENV || 'development'; process.env.NODE_ENV = process.env.NODE_ENV || 'development';

View File

@ -1,11 +1,6 @@
'use strict'; 'use strict';
var imports = require('soop').imports();
require('classtool'); var parent = imports.parent || require('events').EventEmitter;
function spec(b) {
var superclass = b.superclass || require('events').EventEmitter;
var TIMESTAMP_PREFIX = 'bts-'; // b-ts-<ts> => <hash> var TIMESTAMP_PREFIX = 'bts-'; // b-ts-<ts> => <hash>
var PREV_PREFIX = 'bpr-'; // b-prev-<hash> => <prev_hash> var PREV_PREFIX = 'bpr-'; // b-prev-<hash> => <prev_hash>
var NEXT_PREFIX = 'bne-'; // b-next-<hash> => <next_hash> var NEXT_PREFIX = 'bne-'; // b-next-<hash> => <next_hash>
@ -21,18 +16,18 @@ function spec(b) {
*/ */
var levelup = require('levelup'), var levelup = require('levelup'),
config = require('../config/config'); config = require('../config/config');
var db = b.db || levelup(config.leveldb + '/blocks',{maxOpenFiles: MAX_OPEN_FILES} ); var db = imports.db || levelup(config.leveldb + '/blocks',{maxOpenFiles: MAX_OPEN_FILES} );
var Rpc = b.rpc || require('./Rpc').class(); var Rpc = imports.rpc || require('./Rpc');
var PoolMatch = b.poolMatch || require('./PoolMatch').class(config); var PoolMatch = imports.poolMatch || require('soop').load('./PoolMatch',config);
var TransactionDb = require('./TransactionDb.js').class(); var TransactionDb = require('./TransactionDb.js').default();
var BlockDb = function() { var BlockDb = function() {
BlockDb.super(this, arguments); BlockDb.super(this, arguments);
this.poolMatch = new PoolMatch(); this.poolMatch = new PoolMatch();
}; };
BlockDb.superclass = superclass; BlockDb.parent = parent;
BlockDb.prototype.close = function(cb) { BlockDb.prototype.close = function(cb) {
db.close(cb); db.close(cb);
@ -227,8 +222,4 @@ function spec(b) {
return Rpc.blockIndex(height,cb); return Rpc.blockIndex(height,cb);
}; };
return BlockDb; module.exports = require('soop')(BlockDb);
}
module.defineClass(spec);

View File

@ -1,12 +1,7 @@
'use strict'; 'use strict';
var Block = require('bitcore/Block'),
require('classtool');
function spec() {
var Block = require('bitcore/Block').class(),
networks = require('bitcore/networks'), networks = require('bitcore/networks'),
Parser = require('bitcore/util/BinaryParser').class(), Parser = require('bitcore/util/BinaryParser'),
fs = require('fs'), fs = require('fs'),
Buffer = require('buffer').Buffer, Buffer = require('buffer').Buffer,
glob = require('glob'), glob = require('glob'),
@ -156,7 +151,5 @@ function spec() {
}); });
}; };
return BlockExtractor; module.exports = require('soop')(BlockExtractor);
}
module.defineClass(spec);

View File

@ -1,20 +1,17 @@
'use strict'; 'use strict';
require('classtool'); var imports = require('soop').imports();
function spec() {
var util = require('util'); var util = require('util');
var assert = require('assert'); var assert = require('assert');
var RpcClient = require('bitcore/RpcClient').class(); var RpcClient = require('bitcore/RpcClient');
var Script = require('bitcore/Script').class(); var Script = require('bitcore/Script');
var networks = require('bitcore/networks'); var networks = require('bitcore/networks');
var async = require('async'); var async = require('async');
var config = require('../config/config'); var config = require('../config/config');
var Sync = require('./Sync').class(); var Sync = require('./Sync');
var sockets = require('../app/controllers/socket.js'); var sockets = require('../app/controllers/socket.js');
var BlockExtractor = require('./BlockExtractor.js').class(); var BlockExtractor = require('./BlockExtractor.js');
var buffertools = require('buffertools'); var buffertools = require('buffertools');
// var bitcoreUtil = require('bitcore/util/util'); // var bitcoreUtil = require('bitcore/util/util');
@ -423,7 +420,5 @@ function spec() {
}, next); }, next);
}); });
}; };
return HistoricSync;
}
module.defineClass(spec);
module.exports = require('soop')(HistoricSync);

View File

@ -1,11 +1,8 @@
'use strict'; 'use strict';
require('classtool');
function spec() {
var fs = require('fs'); var fs = require('fs');
var bitcoreUtil = require('bitcore/util/util'); var bitcoreUtil = require('bitcore/util/util');
var Sync = require('./Sync').class(); var Sync = require('./Sync');
var Peer = require('bitcore/Peer').class(); var Peer = require('bitcore/Peer');
var config = require('../config/config'); var config = require('../config/config');
var networks = require('bitcore/networks'); var networks = require('bitcore/networks');
@ -121,7 +118,4 @@ function spec() {
}; };
return PeerSync; module.exports = require('soop')(PeerSync);
}
module.defineClass(spec);

View File

@ -1,12 +1,9 @@
'use strict'; 'use strict';
require('classtool'); var imports = require('soop').imports();
function spec(b) {
var fs = require('fs'); var fs = require('fs');
var buffertools = require('buffertools'); var buffertools = require('buffertools');
var db = b.db || JSON.parse( fs.readFileSync(b.poolMatchFile || './poolMatchFile.json')); var db = imports.db || JSON.parse( fs.readFileSync(imports.poolMatchFile || './poolMatchFile.json'));
var PoolMatch = function() { var PoolMatch = function() {
var self = this; var self = this;
@ -32,7 +29,4 @@ function spec(b) {
} }
}; };
return PoolMatch; module.exports = require('soop')(PoolMatch);
}
module.defineClass(spec);

View File

@ -1,16 +1,14 @@
'use strict'; 'use strict';
require('classtool'); var imports = require('soop').imports();
var RpcClient = require('bitcore/RpcClient'),
function spec(b) { BitcoreBlock = require('bitcore/Block'),
var RpcClient = require('bitcore/RpcClient').class(),
BitcoreBlock = require('bitcore/Block').class(),
bitcoreUtil = require('bitcore/util/util'), bitcoreUtil = require('bitcore/util/util'),
util = require('util'), util = require('util'),
config = require('../config/config'); config = require('../config/config');
var bitcoreRpc = b.bitcoreRpc || new RpcClient(config.bitcoind); var bitcoreRpc = imports.bitcoreRpc || new RpcClient(config.bitcoind);
function Rpc() { function Rpc() {
} }
@ -107,8 +105,6 @@ function spec(b) {
}); });
}; };
return Rpc; module.exports = require('soop')(Rpc);
}
module.defineClass(spec);

View File

@ -1,13 +1,10 @@
'use strict'; 'use strict';
require('classtool'); var imports = require('soop').imports();
function spec() {
var sockets = require('../app/controllers/socket.js'); var sockets = require('../app/controllers/socket.js');
var BlockDb = require('./BlockDb').class();
var TransactionDb = require('./TransactionDb').class(); var BlockDb = require('./BlockDb').default();
var TransactionDb = require('./TransactionDb').default();
var config = require('../config/config'); var config = require('../config/config');
var networks = require('bitcore/networks'); var networks = require('bitcore/networks');
var async = require('async'); var async = require('async');
@ -284,6 +281,4 @@ function spec() {
}; };
return Sync; module.exports = require('soop')(Sync);
}
module.defineClass(spec);

View File

@ -1,11 +1,8 @@
'use strict'; 'use strict';
require('classtool'); var imports = require('soop').imports();
var parent = imports.parent || require('events').EventEmitter;
function spec(b) {
var superclass = b.superclass || require('events').EventEmitter;
// blockHash -> txid mapping // blockHash -> txid mapping
var IN_BLK_PREFIX = 'txb-'; //txb-<txid>-<block> => 1/0 (connected or not) var IN_BLK_PREFIX = 'txb-'; //txb-<txid>-<block> => 1/0 (connected or not)
@ -28,24 +25,24 @@ function spec(b) {
/** /**
* Module dependencies. * Module dependencies.
*/ */
var Rpc = b.rpc || require('./Rpc').class(), var Rpc = imports.rpc || require('./Rpc'),
util = require('bitcore/util/util'), util = require('bitcore/util/util'),
levelup = require('levelup'), levelup = require('levelup'),
async = require('async'), async = require('async'),
config = require('../config/config'), config = require('../config/config'),
assert = require('assert'); assert = require('assert');
var db = b.db || levelup(config.leveldb + '/txs',{maxOpenFiles: MAX_OPEN_FILES} ); var db = imports.db || levelup(config.leveldb + '/txs',{maxOpenFiles: MAX_OPEN_FILES} );
var Script = require('bitcore/Script').class(); var Script = require('bitcore/Script');
// This is 0.1.2 = > c++ version of base57-native // This is 0.1.2 = > c++ version of base57-native
var base58 = require('base58-native').base58Check; var base58 = require('base58-native').base58Check;
var encodedData = require('bitcore/util/EncodedData').class({ var encodedData = require('soop').load('bitcore/util/EncodedData',{
base58: base58 base58: base58
}); });
var versionedData = require('bitcore/util/VersionedData').class({ var versionedData= require('soop').load('bitcore/util/VersionedData',{
superclass: encodedData patent: encodedData
}); });
var Address = require('bitcore/Address').class({ var Address = require('soop').load('bitcore/Address',{
superclass: versionedData parent: versionedData
}); });
var bitutil = require('bitcore/util/util'); var bitutil = require('bitcore/util/util');
var networks = require('bitcore/networks'); var networks = require('bitcore/networks');
@ -54,7 +51,7 @@ function spec(b) {
TransactionDb.super(this, arguments); TransactionDb.super(this, arguments);
this.network = config.network === 'testnet' ? networks.testnet : networks.livenet; this.network = config.network === 'testnet' ? networks.testnet : networks.livenet;
}; };
TransactionDb.superclass = superclass; TransactionDb.parent = parent;
TransactionDb.prototype.close = function(cb) { TransactionDb.prototype.close = function(cb) {
db.close(cb); db.close(cb);
@ -728,6 +725,4 @@ isspent
return self.createFromArray(b.tx, b.hash, next); return self.createFromArray(b.tx, b.hash, next);
}; };
return TransactionDb; module.exports = require('soop')(TransactionDb);
}
module.defineClass(spec);

View File

@ -57,7 +57,7 @@
"leveldown": "*", "leveldown": "*",
"levelup": "*", "levelup": "*",
"glob": "*", "glob": "*",
"classtool": "*", "soop": "git://github.com/gasteve/node-soop.git",
"commander": "*", "commander": "*",
"bignum": "*", "bignum": "*",
"express": "~3.4.7", "express": "~3.4.7",

View File

@ -11,7 +11,7 @@ var
util = require('util'), util = require('util'),
async = require('async'), async = require('async'),
config = require('../../config/config'), config = require('../../config/config'),
TransactionDb = require('../../lib/TransactionDb').class(); TransactionDb = require('../../lib/TransactionDb').default();
var spentValid = JSON.parse(fs.readFileSync('test/integration/spent.json')); var spentValid = JSON.parse(fs.readFileSync('test/integration/spent.json'));