diff --git a/app/modules/prover/lib/blockProver.ts b/app/modules/prover/lib/blockProver.ts index 5217aab5fea5f6f83598d99ddfafc9c0b35a3919..0e872ed3e9bb2711f66ab6e2fb3a7c9beaf36684 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 0b10fbf483f47319caa3327aa9fe27c4402f2e3e..5de1c0e729ed016fc06f90b7abe06f7d0c4f97a2 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 182f5e3fec4ef7077efa1d13ace7c21c95ba7dbb..3bd85abdbd8a8f9d15fdaa75e1dd2c38cbeee219 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 c056fe89f45c3e4071b233c32edc794273315314..2e93ff557e3b86f1f52cd5c3dec59636212f8892 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 08eaccdc996ed0823622101a88969b4f4e59a373..3c6b04bc5ad36d1aae2701a97854444164bb3c76 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 9012c146fbadc84e11423e74d790fbbf2d8cb051..8704ad5d232179d3f633685509d38b3c6e593e0a 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,