From 2ec34f93253a32b3a20b9551340b0b658a5d3f25 Mon Sep 17 00:00:00 2001 From: Vijayee Kulkaa Date: Mon, 18 Jun 2018 19:01:19 -0500 Subject: [PATCH] Windows Error --- .gitignore | 3 +++ package.json | 10 ++++---- src/block-cache.js | 5 ++-- src/block-router.js | 4 ++-- src/bucket.js | 8 ++++++- src/config.js | 2 +- src/electron/images/off-logo.icns | Bin 0 -> 70319 bytes src/electron/images/off-logo.ico | Bin 0 -> 31968 bytes src/electron/views/configuration/index.html | 4 ++-- src/electron/views/connect/index.html | 4 ++-- src/index.js | 24 +++++++++++++++++--- src/peer.js | 3 ++- src/readable-off-stream.js | 10 +++++--- src/rpc.js | 2 +- 14 files changed, 55 insertions(+), 24 deletions(-) create mode 100644 src/electron/images/off-logo.icns create mode 100644 src/electron/images/off-logo.ico diff --git a/.gitignore b/.gitignore index 6c479bf..099f02a 100755 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,7 @@ js-offs-linux-x64/ js-offs-win32-x64/ js-offs-darwin-x64/ +js-offs-win32-x64.zip +js-offs-win32-x64.zip +js-offs-linux-x64.zip diff --git a/package.json b/package.json index 7cea87c..6bc6379 100644 --- a/package.json +++ b/package.json @@ -11,11 +11,11 @@ "start": "npm run compile-vue && ./node_modules/.bin/electron .", "rebuild": "./node_modules/.bin/electron-rebuild", "build-native": "./node_modules/.bin/electron-packager ./", - "build-linux-x64": "./node_modules/.bin/electron-packager ./ --platform=linux --arch=x64", - "build-linux-ia36": "./node_modules/.bin/electron-packager ./ --platform=linux --arch=ia36", - "build-windows-x64": "./node_modules/.bin/electron-packager ./ --platform=win32 --arch=x64", - "build-windows-ia36": "./node_modules/.bin/electron-packager ./ --platform=win32 --arch=ia36", - "build-darwin-x64": "./node_modules/.bin/electron-packager ./ --platform=darwin --arch=x64" + "build-linux-x64": "./node_modules/.bin/electron-packager ./ --platform=linux --arch=x64 --icon=src/electron/images/off-logo.png --asar=true --overwrite && zip -FS -r js-offs-linux-x64.zip js-offs-linux-x64", + "build-linux-ia36": "./node_modules/.bin/electron-packager ./ --platform=linux --arch=ia36 --icon=src/electron/images/off-logo.png --asar=true --overwrite && zip -FS -r js-offs-linux-ia36.zip js-offs-linux-ia36", + "build-windows-x64": "./node_modules/.bin/electron-packager ./ --platform=win32 --arch=x64 --icon=src/electron/images/off-logo.ico --asar=true --overwrite && zip -FS -r js-offs-win32-x64.zip js-offs-win32-x64", + "build-windows-ia36": "./node_modules/.bin/electron-packager ./ --platform=win32 --arch=ia36 --icon=src/electron/images/off-logo.ico --asar=true --overwrite && zip -FS -r js-offs-win32-ia36.zip js-offs-win32-x64", + "build-darwin-x64": "./node_modules/.bin/electron-packager ./ --platform=darwin --arch=x64 --icon=src/electron/images/off-logo.icns --asar=true --overwrite && zip -FS -r js-offs-darwin-x64.zip js-offs-darwin-x64" }, "author": "Victor Morrow ", "license": "GPL-3.0", diff --git a/src/block-cache.js b/src/block-cache.js index fc34a76..e2852eb 100644 --- a/src/block-cache.js +++ b/src/block-cache.js @@ -7,6 +7,8 @@ const Block = require('./block') const util = require('./utility') const fs = require('fs') const getSize = require('get-folder-size') +const bs58 = require('bs58') +const hamming = require('hamming-distance') const CuckooFilter = require('cuckoo-filter').CuckooFilter let _cacheInterface = new WeakMap() let _path = new WeakMap() @@ -103,9 +105,6 @@ module.exports = } load (keys) { - keys = keys.filter((key)=> { - return !this.contains(key) - }) let cacheInterface = _cacheInterface.get(this) return cacheInterface.load(keys) } diff --git a/src/block-router.js b/src/block-router.js index 16c7371..82ee7db 100644 --- a/src/block-router.js +++ b/src/block-router.js @@ -160,7 +160,7 @@ module.exports = class BlockRouter extends EventEmitter { return cb(err, block.data) }) } - rpc.closestBlock = (number, filter, hash, type, cb) => { + rpc.closestBlock = (hash, filter, type, cb) => { let bc switch (type) { case 1: @@ -174,7 +174,7 @@ module.exports = class BlockRouter extends EventEmitter { break; } let key = bs58.encode(hash) - bc.closestBlock(number, key, filter, cb) + bc.closestBlock(key, filter, cb) } rpc.containsValue = (hash, type, cb)=> { let bc diff --git a/src/bucket.js b/src/bucket.js index aeddf7b..792ada7 100644 --- a/src/bucket.js +++ b/src/bucket.js @@ -107,10 +107,16 @@ module.exports = class Bucket extends EventEmitter { if (!(peer instanceof Peer)) { throw new Error('Invalid Peer') } + if (!(peer.id)) { + throw new Error('Invalid Peer') + } + const nodeId = _nodeId.get(this) + if (nodeId.equals(peer.id)) { + return + } if (!index) { index = 0 } - if (isNaN(index)) { throw new Error('Invalid index') } diff --git a/src/config.js b/src/config.js index 2edbbf2..d85069d 100644 --- a/src/config.js +++ b/src/config.js @@ -35,7 +35,7 @@ let defaults = { redundancy: .30, //30% network redundancy target batchConcurrency: 10, bootstrap: [ - {id: 'LeW7AX2UhTypMKywe7EHiiAGLnd1tTeqGJ1b7VpLWMr', ip: '73.135.22.132', port: 8200 } + {id: '8fHecNZCiTxavnfnskySbeAYCd1bcv1SAVyi1mcZqurH', ip: '73.135.22.132', port: 8200 } ] } let _blockPath = new WeakMap() diff --git a/src/electron/images/off-logo.icns b/src/electron/images/off-logo.icns new file mode 100644 index 0000000000000000000000000000000000000000..fb110651b16b22222459ef54cf3edf2b4199f2d9 GIT binary patch literal 70319 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 literal 0 HcmV?d00001 diff --git a/src/electron/images/off-logo.ico b/src/electron/images/off-logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..ac8b5581d08d47ac9486982e28478330bacd7468 GIT binary patch literal 31968 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%0D8o3)2!m3h|N%*GAe{Wha}-=pVo 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 literal 0 HcmV?d00001 diff --git a/src/electron/views/configuration/index.html b/src/electron/views/configuration/index.html index 780c920..e344dc0 100644 --- a/src/electron/views/configuration/index.html +++ b/src/electron/views/configuration/index.html @@ -1,5 +1,5 @@ - + Off System: Configuration @@ -10,7 +10,7 @@ - +
- +
diff --git a/src/index.js b/src/index.js index 069f968..90a841d 100644 --- a/src/index.js +++ b/src/index.js @@ -49,7 +49,16 @@ function createWindow () { node.once('ready', () => { let importWin let createImportWin = () => { - importWin = new BrowserWindow({ width: 530, height: 304, icon: icon, autoHideMenuBar:true, resizable: false}) + let width + let height + if (/^win/.test(process.platform)) { + width = 530 + height = 380 + } else { + width = 530 + height = 304 + } + importWin = new BrowserWindow({ width, height, icon: icon, autoHideMenuBar:true, resizable: false}) importWin.on('close', (e) => { e.preventDefault() importWin.hide() @@ -91,7 +100,16 @@ function createWindow () { let connectWin let connector let createConnectWin = () => { - connectWin = new BrowserWindow({ width: 800, height: 126, icon: icon, autoHideMenuBar:true, resizable: false}) + let width + let height + if (/^win/.test(process.platform)) { + width = 800 + height = 186 + } else { + width = 800 + height = 126 + } + connectWin = new BrowserWindow({ width, height, icon: icon, autoHideMenuBar:true, resizable: false}) connectWin.on('close', (e) => { e.preventDefault() connectWin.hide() @@ -135,7 +153,7 @@ function createWindow () { configurationWin.hide() }) configurationWin.loadURL(`file://${path.join(__dirname, 'electron', 'views', 'configuration', 'index.html')}`) - //configurationWin.webContents.openDevTools({}) + // configurationWin.webContents.openDevTools({}) let setHandler = async (payload) => { config[payload.key] = payload.value } diff --git a/src/peer.js b/src/peer.js index ca6d0cc..df3b3ef 100644 --- a/src/peer.js +++ b/src/peer.js @@ -3,6 +3,7 @@ const isIP = require('is-ip') const bs58 = require('bs58') const fs = require('fs') const path = require('path') +const net = require('net') let _port = new WeakMap() let _ip = new WeakMap() let _id = new WeakMap() @@ -13,7 +14,7 @@ module.exports = class Peer { if (!Buffer.isBuffer(id)) { throw new Error('Id is not a buffer') } - if (!isIP(ip)) { + if (!net.isIP(ip)) { throw new Error('Ip is not a valid address') } if (isNaN(port)) { diff --git a/src/readable-off-stream.js b/src/readable-off-stream.js index 7de5634..4fe0630 100644 --- a/src/readable-off-stream.js +++ b/src/readable-off-stream.js @@ -92,10 +92,13 @@ module.exports = class ReadableOffStream extends Readable { let doNext = () => { bc.get(key, next) } - bc.contains(key, (contains) => { + let testContents = (contains) => { if (!contains) { if (flightBox && flightBox.filter.contains(key)) { - flightBox.emitter.on(key, doNext) + flightBox.emitter.on(key, () => { + console.log(key) + bc.contains(key, testContents) + }) } else { let flightBox = bc.load([ key ]) flightBox.emitter.once(key, doNext) @@ -107,7 +110,8 @@ module.exports = class ReadableOffStream extends Readable { } else { doNext() } - }) + } + bc.contains(key, testContents) } else { return yieldBlock() } diff --git a/src/rpc.js b/src/rpc.js index de0849a..3a6a15f 100644 --- a/src/rpc.js +++ b/src/rpc.js @@ -137,7 +137,7 @@ module.exports = class RPC extends EventEmitter { responsepb.comType = Direction.Response responsepb.from = peer.toJSON() let type = randompb.type - rpcInterface.closestBlock(Cuckoo.fromCBOR(randompb.filter), pb.from.id, randompb.type, (err, block)=> { + rpcInterface.closestBlock(pb.from.id, Cuckoo.fromCBOR(randompb.filter), randompb.type, (err, block)=> { if (err) { responsepb.status = Status.Failure let response = new RPCProto.RPC(responsepb).encode().toBuffer()