/ average-work.js
average-work.js
1 const Blockchain = require("./blockchain"); 2 3 const blockchain = new Blockchain(); 4 5 blockchain.addBlock({ data: "initial" }); 6 7 let prevTimestamp, nextTimestamp, nextBlock, timeDiff, average; 8 9 const times = []; 10 11 for (let i = 0; i < 1000; i++) { 12 prevTimestamp = blockchain.chain[blockchain.chain.length - 1].timestamp; 13 14 blockchain.addBlock({ data: `block ${i}` }); 15 16 nextBlock = blockchain.chain[blockchain.chain.length - 1]; 17 18 nextTimestamp = nextBlock.timestamp; 19 20 timeDiff = nextTimestamp - prevTimestamp; 21 22 times.push(timeDiff); 23 24 average = times.reduce((sum, n) => sum + n, 0) / times.length; 25 26 console.log( 27 `Time to mine block: ${timeDiff}ms. Difficulty: ${nextBlock.difficulty}. Average time: ${average}ms` 28 ); 29 }