From f1181ae2f8130a75df535e6b2096e0c1e707509d Mon Sep 17 00:00:00 2001 From: cgeek Date: Tue, 26 Aug 2014 21:42:55 +0200 Subject: [PATCH] Enabling network PoW finding --- app/lib/streams/multicaster.js | 11 +++++++++++ app/lib/streams/router.js | 1 + bin/ucoind | 6 +++--- server.js | 8 ++++---- wotserver.js | 6 +++--- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/app/lib/streams/multicaster.js b/app/lib/streams/multicaster.js index fa757ee3..d46c2993 100644 --- a/app/lib/streams/multicaster.js +++ b/app/lib/streams/multicaster.js @@ -34,6 +34,17 @@ function Multicaster () { }); }); + that.on('keyblock', function(keyblock, peers) { + logger.debug('--> new Keyblock to be sent to %s peer(s)', peers.length); + peers.forEach(function(peer){ + fifo.push(function (sent) { + sendKeyblock(peer, keyblock, success(function (err) { + sent(); + })); + }); + }); + }); + that.on('transaction', function(transaction, peers) { logger.debug('--> new Transaction to be sent to %s peer(s)', peers.length); peers.forEach(function(peer){ diff --git a/app/lib/streams/router.js b/app/lib/streams/router.js index e77d47ee..7d2cd9c6 100644 --- a/app/lib/streams/router.js +++ b/app/lib/streams/router.js @@ -24,6 +24,7 @@ function Router (serverFPR, conn) { this._write = function (obj, enc, done) { if (typeof obj.email != 'undefined') { route('pubkey', obj, getRandomInUPPeers, done); } + else if (obj.keysChanges ? true : false) { route('keyblock', obj, getRandomInUPPeers, done); } else if (obj.recipient ? true : false) { route('transaction', obj, getTargetedButSelf(obj.recipient), done); } else if (obj.endpoints ? true : false) { route('peer', obj, getRandomInAllPeersButPeer(obj.fingerprint), done); } else if (obj.forward ? true : false) { route('forward', obj, getTargetedButSelf(obj.to), done); } diff --git a/bin/ucoind b/bin/ucoind index 1aabb84e..be0b4bbb 100755 --- a/bin/ucoind +++ b/bin/ucoind @@ -409,9 +409,9 @@ program .description('Start uCoin server using given --currency') .action(service(LISTEN_HTTP, ucoin.createPeerServer, function (server, conf) { - // server - // .pipe(router(server.PeeringService.cert.fingerprint, server.conn)) - // .pipe(multicaster()); + server + .pipe(router(server.PeeringService.cert.fingerprint, server.conn)) + .pipe(multicaster()); // Launching server server.on('BMALoaded', function (err, app) { diff --git a/server.js b/server.js index 136e9436..05128df3 100644 --- a/server.js +++ b/server.js @@ -34,10 +34,7 @@ function Server (dbConf, overrideConf, interceptors, onInit) { that.emit('services', err); done(err); }); - } - ]; - - var todoOnInit = initFunctions.concat(onInit).concat([ + }, function (done) { if (dbConf.listenBMA) { listenBMA(function (err, app) { @@ -46,6 +43,9 @@ function Server (dbConf, overrideConf, interceptors, onInit) { }); } else done(); } + ]; + + var todoOnInit = initFunctions.concat(onInit).concat([ ]); this._write = function (obj, enc, writeDone, isInnerWrite) { diff --git a/wotserver.js b/wotserver.js index abcf7f0a..3c569d29 100644 --- a/wotserver.js +++ b/wotserver.js @@ -34,9 +34,9 @@ function WOTServer (dbConf, overrideConf, interceptors, onInit) { function (next){ server.KeychainService.submitKeyBlock(obj, next); }, - function (tx, next){ - server.emit('keyblock', tx); - next(null, tx); + function (kb, next){ + server.emit('keyblock', kb); + next(null, kb); }, ], next); } -- 2.22.0