From d595e742a23faa406ba38ad2b6567cc6f0682df5 Mon Sep 17 00:00:00 2001 From: cgeek <cem.moreau@gmail.com> Date: Fri, 29 Sep 2017 16:22:29 +0200 Subject: [PATCH] [fix] #1126 Allow UP to 999999 nodes + clean commented code --- app/modules/prover/lib/blockProver.ts | 1 + app/modules/prover/lib/constants.ts | 2 ++ app/modules/prover/lib/prover.ts | 4 +--- app/service/PeeringService.ts | 10 ---------- index.ts | 3 ++- test/fast/prover/pow-3-prover.js | 13 +++++++++++++ 6 files changed, 19 insertions(+), 14 deletions(-) diff --git a/app/modules/prover/lib/blockProver.ts b/app/modules/prover/lib/blockProver.ts index 5217aab5f..0e872ed3e 100644 --- a/app/modules/prover/lib/blockProver.ts +++ b/app/modules/prover/lib/blockProver.ts @@ -206,6 +206,7 @@ export class BlockProver { } async changePoWPrefix(prefix:any) { + this.conf.prefix = prefix const farm = await this.getWorker() return farm.changePoWPrefix(prefix) } diff --git a/app/modules/prover/lib/constants.ts b/app/modules/prover/lib/constants.ts index 0b10fbf48..5de1c0e72 100644 --- a/app/modules/prover/lib/constants.ts +++ b/app/modules/prover/lib/constants.ts @@ -7,6 +7,8 @@ export const Constants = { POW_MINIMAL_TO_SHOW: 2, DEFAULT_CPU: 0.6, DEFAULT_PEER_ID: 1, + MIN_PEER_ID: 1, + MAX_PEER_ID: 999999, NONCE_RANGE: 1000 * 1000 * 1000 * 100, diff --git a/app/modules/prover/lib/prover.ts b/app/modules/prover/lib/prover.ts index 182f5e3fe..3bd85abdb 100644 --- a/app/modules/prover/lib/prover.ts +++ b/app/modules/prover/lib/prover.ts @@ -17,9 +17,7 @@ export class Prover extends stream.Transform { if (obj) { if (obj.bcEvent && obj.bcEvent === OtherConstants.BC_EVENT.HEAD_CHANGED || obj.bcEvent === OtherConstants.BC_EVENT.SWITCHED) { this.permaProver.blockchainChanged(obj.block); - } /*else if (obj.nodeIndexInPeers !== undefined) { - this.permaProver.prover.changePoWPrefix((obj.nodeIndexInPeers + 1) * 10); // We multiply by 10 to give room to computers with < 100 cores - }*/ else if (obj.cpu !== undefined) { + } else if (obj.cpu !== undefined) { this.permaProver.prover.changeCPU(obj.cpu); // We multiply by 10 to give room to computers with < 100 cores } } diff --git a/app/service/PeeringService.ts b/app/service/PeeringService.ts index c056fe89f..2e93ff557 100644 --- a/app/service/PeeringService.ts +++ b/app/service/PeeringService.ts @@ -161,16 +161,6 @@ export class PeeringService { const localEndpoints = await this.server.getEndpoints() const localNodeNotListed = !peerEntityOld.containsAllEndpoints(localEndpoints) const current = localNodeNotListed && (await this.dal.getCurrentBlockOrNull()); - /*if (!localNodeNotListed) { - const indexOfThisNode = PeerDTO.indexOfFirst(localEndpoints, peerEntity.endpoints) - if (indexOfThisNode !== -1) { - this.server.push({ - nodeIndexInPeers: indexOfThisNode - }); - } else { - logger.warn('This node has his interface listed in the peer document, but its index cannot be found.'); - } - }*/ if (localNodeNotListed && (!current || current.number > blockNumber)) { // Document with pubkey of local peer, but doesn't contain local interface: we must add it this.generateSelfPeer(this.conf); diff --git a/index.ts b/index.ts index 08eaccdc9..3c6b04bc5 100644 --- a/index.ts +++ b/index.ts @@ -7,6 +7,7 @@ import {KeypairDependency} from "./app/modules/keypair/index" import {CrawlerDependency} from "./app/modules/crawler/index" import {BmaDependency} from "./app/modules/bma/index" import {WS2PDependency} from "./app/modules/ws2p/index" +import {Constants} from "./app/modules/prover/lib/constants" const path = require('path'); const _ = require('underscore'); @@ -468,7 +469,7 @@ function commandLineConf(program:any, conf:any = {}) { if (cli.currency) conf.currency = cli.currency; if (cli.server.port) conf.port = cli.server.port; if (cli.cpu) conf.cpu = Math.max(0.01, Math.min(1.0, cli.cpu)); - if (cli.prefix) conf.prefix = Math.max(1, Math.min(9, cli.prefix)); + if (cli.prefix) conf.prefix = Math.max(Constants.MIN_PEER_ID, Math.min(Constants.MAX_PEER_ID, cli.prefix)); if (cli.logs.http) conf.httplogs = true; if (cli.logs.nohttp) conf.httplogs = false; if (cli.db.mport) conf.mport = cli.db.mport; diff --git a/test/fast/prover/pow-3-prover.js b/test/fast/prover/pow-3-prover.js index 9012c146f..8704ad5d2 100644 --- a/test/fast/prover/pow-3-prover.js +++ b/test/fast/prover/pow-3-prover.js @@ -68,6 +68,19 @@ describe('PoW block prover', () => { }); })); + it('should be able to use a prefix with 6 digits', () => co(function*(){ + const block = { + number: 1, + issuer: 'HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd' + } + const params = yield prover.changePoWPrefix('123456') + params.should.deepEqual({ prefix: '123456' }) + const forcedTime = 1; + const proof = yield prover.prove(block, 1, forcedTime) + proof.nonce.should.equal(123456000000000000) + String(proof.nonce).should.have.length(18) + })); + it('should be able to stop a proof', () => co(function*(){ const block = { number: 35, -- GitLab