From 3db0ac86150534bba12e6db4537e72d5d81f3938 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Fri, 14 Feb 2014 09:20:20 -0300 Subject: [PATCH] add c++ version of base58 to faster sync --- lib/HistoricSync.js | 49 ++++++++++++++++++++++++--------------------- lib/Sync.js | 7 ++++++- package.json | 1 + 3 files changed, 33 insertions(+), 24 deletions(-) diff --git a/lib/HistoricSync.js b/lib/HistoricSync.js index 91f412a..408f837 100644 --- a/lib/HistoricSync.js +++ b/lib/HistoricSync.js @@ -47,6 +47,29 @@ function spec() { console.log.apply(this, args); } + HistoricSync.prototype.showProgress = function() { + var self = this; + + if ( self.status ==='syncing' && + ( self.syncedBlocks ) % self.step !== 1) return; + + if (self.error) { + p('ERROR: ' + self.error); + } + else { + self.updatePercentage(); + p(util.format('status: [%d%%]', self.syncPercentage)); + } + if (self.opts.shouldBroadcastSync) { + sockets.broadcastSyncInfo(self.info()); + } + + // if (self.syncPercentage > 10) { + // process.exit(-1); + // } + }; + + HistoricSync.prototype.setError = function(err) { var self = this; self.error = err.toString(); @@ -107,28 +130,6 @@ function spec() { if (this.syncPercentage > 100) this.syncPercentage = 100; }; - HistoricSync.prototype.showProgress = function() { - var self = this; - - if ( self.status ==='syncing' && - ( self.syncedBlocks ) % self.step !== 1) return; - - if (self.error) { - p('ERROR: ' + self.error); - } - else { - self.updatePercentage(); - p(util.format('status: [%d%%]', self.syncPercentage)); - } - if (self.opts.shouldBroadcastSync) { - sockets.broadcastSyncInfo(self.info()); - } -// -// if (self.syncPercentage > 10) { -// process.exit(-1); -// } - }; - HistoricSync.prototype.getPrevNextBlock = function(blockHash, blockEnd, scanOpts, cb) { var self = this; @@ -220,7 +221,7 @@ function spec() { }; - +//var a=1; HistoricSync.prototype.getBlockFromFile = function(cb) { var self = this; @@ -228,6 +229,8 @@ function spec() { //get Info self.blockExtractor.getNextBlock(function(err, b) { +// a++; +//return cb(null,{previousblockhash:a.toString(), hash:(a-1).toString() }); if (err || ! b) return cb(err); blockInfo = b.getStandardizedObject(b.txs, self.network); // blockInfo.curWork = Deserialize.intFromCompact(b.bits); diff --git a/lib/Sync.js b/lib/Sync.js index 0102512..f182e5b 100644 --- a/lib/Sync.js +++ b/lib/Sync.js @@ -7,7 +7,12 @@ function spec() { var sockets = require('../app/controllers/socket.js'); var BlockDb = require('./BlockDb').class(); var bitutil = require('bitcore/util/util'); - var Address = require('bitcore/Address').class(); + + // This is 0.1.2 => c++ version of base57-native + var base58 = require('base58-native'); + var encodedData = require('bitcore/util/EncodedData').class({base58: base58}); + var versionedData = require('bitcore/util/VersionedData').class({superclass: encodedData}); + var Address = require('bitcore/Address').class({superclass: versionedData}); var TransactionDb = require('./TransactionDb').class(); var config = require('../config/config'); var networks = require('bitcore/networks'); diff --git a/package.json b/package.json index 1a6dbc9..a6e6ac6 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "postinstall": "node node_modules/bower/bin/bower install; node ./node_modules/grunt-cli/bin/grunt compile " }, "dependencies": { + "base58-native": "0.1.2", "async": "*", "leveldown": "*", "levelup": "*",