diff --git a/app/controllers/socket.js b/app/controllers/socket.js
new file mode 100644
index 00000000..7bcad799
--- /dev/null
+++ b/app/controllers/socket.js
@@ -0,0 +1,23 @@
+'use strict';
+
+// server-side socket behaviour
+
+// io is a variable already taken in express
+var ios = null;
+
+module.exports.init = function(app, io_ext) {
+ ios = io_ext;
+ ios.set('log level', 1); // reduce logging
+ ios.sockets.on('connection', function() {
+ });
+};
+
+
+module.exports.broadcast_tx = function(tx) {
+ ios.sockets.emit('tx', tx);
+};
+
+
+module.exports.broadcast_block = function(block) {
+ ios.sockets.emit('block', block);
+};
diff --git a/app/models/Status.js b/app/models/Status.js
index 9ab66785..321e2271 100644
--- a/app/models/Status.js
+++ b/app/models/Status.js
@@ -97,7 +97,7 @@ function spec() {
callback(null, bh.result);
});
}
- ],
+ ],
function (err, result) {
that.lastblockhash = result;
return next();
diff --git a/app/views/sockets/main.js b/app/views/sockets/main.js
deleted file mode 100644
index b8b3f52d..00000000
--- a/app/views/sockets/main.js
+++ /dev/null
@@ -1,25 +0,0 @@
-'use strict';
-
-var Transaction = require('../../models/Transaction');
-
-// server-side socket behaviour
-
-var io = null;
-
-module.exports.init = function(app, io_ext) {
- io = io_ext;
- io.set('log level', 1); // reduce logging
- io.sockets.on('connection', function(socket) {
-
- });
-};
-
-
-module.exports.broadcast_tx = function(tx) {
- io.sockets.emit('tx', tx);
-};
-
-
-module.exports.broadcast_block = function(block) {
- io.sockets.emit('block', block);
-};
diff --git a/config/env/development.js b/config/env/development.js
index 0d4e6c1b..fbe2cb41 100755
--- a/config/env/development.js
+++ b/config/env/development.js
@@ -14,4 +14,6 @@ module.exports = {
disableAgent: true,
},
network: 'testnet',
+ disableP2pSync: false,
+ disableHistoricSync: false,
}
diff --git a/lib/HistoricSync.js b/lib/HistoricSync.js
index f3b99f14..2c432d9c 100644
--- a/lib/HistoricSync.js
+++ b/lib/HistoricSync.js
@@ -4,19 +4,13 @@ require('classtool');
function spec() {
- var mongoose = require('mongoose');
var util = require('util');
var RpcClient = require('bitcore/RpcClient').class();
var networks = require('bitcore/networks');
var async = require('async');
var config = require('../config/config');
var Block = require('../app/models/Block');
- var Transaction = require('../app/models/Transaction');
- var TransactionItem = require('../app/models/TransactionItem');
var Sync = require('./Sync').class();
- var sockets = require('../app/views/sockets/main.js');
- var CONCURRENCY = 5;
-
function HistoricSync(opts) {
this.block_count= 0;
@@ -26,10 +20,12 @@ function spec() {
}
function p() {
- var params = Array.prototype.slice.call(arguments);
+ var args = [];
+ Array.prototype.push.apply( args, arguments );
- params.unshift('[historic_sync]');
- console.log.apply(this,params);
+ args.unshift('[historic_sync]');
+ /*jshint validthis:true */
+ console.log.apply(this, args);
}
var progress_bar = function(string, current, total) {
@@ -59,11 +55,11 @@ function spec() {
var blockInfo;
var blockObj;
- async.series([
+ async.series([
// Already got it?
function(c) {
Block.findOne({hash:blockHash}, function(err,block){
- if (err) { p(err); return c(err); };
+ if (err) { p(err); return c(err); }
if (block) {
existed = 1;
blockObj = block;
@@ -96,7 +92,7 @@ function spec() {
function(c) {
if (existed) return c();
- that.sync.storeBlock(blockInfo.result, function(err, block) {
+ that.sync.storeBlock(blockInfo.result, function(err) {
existed = err && err.toString().match(/E11000/);
if (err && ! existed) return c(err);
return c();
@@ -133,8 +129,9 @@ function spec() {
HistoricSync.prototype.syncBlocks = function(start, end, isForward, cb) {
var that = this;
- p('Syncing Blocks, starting from: %s end: %s isForward:',
- start, end, isForward);
+ p('Starting from: ', start);
+ p(' to : ', end);
+ p(' isForward: ', isForward);
return that.getPrevNextBlock( start, end,
@@ -203,7 +200,7 @@ function spec() {
return cb();
});
},
- ],
+ ],
function(err) {
function sync() {
@@ -224,7 +221,7 @@ function spec() {
if (err && err.message.match(/ECONNREFUSED/) && retry_attemps--){
setTimeout(function() {
- p("Retrying in %d secs ", retry_secs);
+ p('Retrying in %d secs', retry_secs);
sync();
}, retry_secs * 1000);
}
@@ -232,9 +229,12 @@ function spec() {
return next(err, that.block_count);
});
}
- sync();
+ if (!err)
+ sync();
+ else
+ return next(err, 0);
});
- }
+ };
HistoricSync.prototype.import_history = function(opts, next) {
var that = this;
diff --git a/lib/Sync.js b/lib/Sync.js
index eb34a487..520ba14a 100644
--- a/lib/Sync.js
+++ b/lib/Sync.js
@@ -5,18 +5,13 @@ require('classtool');
function spec() {
var mongoose = require('mongoose');
- var util = require('util');
- var RpcClient = require('bitcore/RpcClient').class();
- var async = require('async');
var config = require('../config/config');
var Block = require('../app/models/Block');
var Transaction = require('../app/models/Transaction');
- var TransactionItem = require('../app/models/TransactionItem');
- var sockets = require('../app/views/sockets/main.js');
- var CONCURRENCY = 5;
+ var sockets = require('../app/controllers/socket.js');
- function Sync(config) {
+ function Sync() {
this.tx_count = 0;
}
@@ -68,7 +63,7 @@ function spec() {
start, end, isForward);
- return that.getPrevNextBlock( start, end,
+ return that.getPrevNextBlock( start, end,
isForward ? { next: 1 } : { prev: 1}, cb);
};
diff --git a/package.json b/package.json
index d295bc67..c7ce3815 100644
--- a/package.json
+++ b/package.json
@@ -17,8 +17,16 @@
"email": "manuelaraoz@gmail.com"
},
{
- "name": "Mario Colque",
+ "name": "Mario Colque",
"email": "colquemario@gmail.com"
+ },
+ {
+ "name": "Gustavo Cortez",
+ "email": "cmgustavo83@gmail.com"
+ },
+ {
+ "name": "Juan Sosa",
+ "email": "bechilandia@gmail.com"
}
],
"bugs": {
diff --git a/public/views/address.html b/public/views/address.html
index bcafe336..539dca16 100644
--- a/public/views/address.html
+++ b/public/views/address.html
@@ -40,26 +40,6 @@
Transactions Transactions contained within this block
-
-
-
- Transaction Hash |
- Datetime |
- Fee |
- Transacted Amount |
-
-
-
-
- Loading... |
-
-
- {{tx.txid}} |
- {{tx.time * 1000 | date:'medium'}} |
- {{tx.feeds}} |
- {{tx.valueOut}} |
-
-
-
+
diff --git a/public/views/block.html b/public/views/block.html
index a81b42dc..8d85c85d 100644
--- a/public/views/block.html
+++ b/public/views/block.html
@@ -50,18 +50,6 @@
Number Of Transactions |
{{block.tx.length}} |
- |
- Output Total |
- -- |
-
-
- Estimated Transaction Volume |
- -- |
-
-
- Transaction Fees |
- -- |
-
Height |
{{block.height}} |
@@ -76,10 +64,6 @@
-
- Relayed By |
- -- |
-
Difficulty |
{{block.difficulty}} |
@@ -107,42 +91,7 @@
Transactions Transactions contained within this block
-
-
-
-
-
-
- Transmitter
-
-
-
-
-
-
-
-
-
Bitcoin of Receptor
-
Bitcoin of Receptor
-
-
-
-
-
-
-
Feeds: {{tx.feeds}}
-
- {{tx.valueOut}}
-
-
-
-
+
diff --git a/public/views/transaction/list.html b/public/views/transaction/list.html
new file mode 100644
index 00000000..ca60761f
--- /dev/null
+++ b/public/views/transaction/list.html
@@ -0,0 +1,48 @@
+Loading...
+
+
+
+
+
+
No Inputs (Newly Generated isCoinBasens)
+
+
+
+
+
+
+
+
+
+ {{vout.scriptPubKey.type}}
+
+
+
+
+
+
+
+
+
Feeds: {{tx.feeds}}
+
+ {{tx.valueOut}}
+
+
+
diff --git a/server.js b/server.js
index f93802af..1d61a87a 100644
--- a/server.js
+++ b/server.js
@@ -4,6 +4,7 @@
//Set the node enviornment variable if not set before
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
+
/**
* Module dependencies.
*/
@@ -13,6 +14,7 @@ var express = require('express'),
HistoricSync = require('./lib/HistoricSync').class(),
mongoose = require('mongoose');
+
/**
* Main application entry file.
*/
@@ -42,30 +44,35 @@ var walk = function(path) {
walk(models_path);
// historic_sync process
-var hs = new HistoricSync();
-hs.init({
- skip_db_connection: true,
- networkName: config.network
-}, function() {
- hs.import_history({
- reverse: 1,
- }, function(){
- console.log('historic_sync finished!');
+if (!config.disableHistoricSync) {
+ var hs = new HistoricSync();
+ hs.init({
+ skip_db_connection: true,
+ networkName: config.network
+ }, function() {
+ hs.import_history({
+ reverse: 1,
+ }, function(){
+ console.log('historic_sync finished!');
+ });
});
-});
+}
// p2p_sync process
-var ps = new PeerSync();
-ps.init({
- skip_db_connection: true,
- broadcast_txs: true,
- broadcast_blocks: true
-}, function() {
- ps.run();
-});
+if (!config.disableP2pSync) {
+ var ps = new PeerSync();
+ ps.init({
+ skip_db_connection: true,
+ broadcast_txs: true,
+ broadcast_blocks: true
+ }, function() {
+ ps.run();
+ });
+}
// express app
+/*global app: true*/
var app = express();
//express settings
@@ -76,8 +83,8 @@ require('./config/routes')(app);
// socket.io
var server = require('http').createServer(app);
-var io = require('socket.io').listen(server);
-require('./app/views/sockets/main.js').init(app,io);
+var ios = require('socket.io').listen(server);
+require('./app/controllers/socket.js').init(app,ios);
//Start the app by listening on
var port = process.env.PORT || config.port;