下列代码中放置控制台的函数放在blockchain-demo中哪个文件的函数中在mine函数中添加以上代码将其放在for循环中的第一行记录每次挖矿所消耗的时间:var start = new DategetTime; 记录开始时间for var x = 0; x = maximumNonce; x++ $#block + block + chain + chain + noncevalx;
放置控制台的函数应该放在blockchain-demo.js文件的最后一个函数中,即:
function updateState(block, chain) { //更新状态 }
var start = new Date().getTime(); //记录开始时间 for (var x = 0; x <= maximumNonce; x++) { $('#block' + block + 'chain' + chain + 'nonce').val(x); $('#block' + block + 'chain' + chain + 'hash').val(sha256(block, chain)); if ($('#block' + block + 'chain' + chain + 'hash').val().substr(-difficulty, difficulty) === pattern) { if (isChain) { updateChain(block, chain); } else { updateState(block, chain); } break; } } var end = new Date().getTime(); //记录结束时间 console.log("Time taken to mine block " + block + " in chain " + chain + ": " + (end - start) + "ms"); //输出消耗时间
注意,以上代码应该替换掉原来的mine函数中的for循环部分。
最后,在控制台中输出同一难度下的16次挖矿所消耗的时间,并计算其平均值的代码应该放在控制台中执行,而不是放在blockchain-demo.js文件中
原文地址: https://www.cveoy.top/t/topic/hvC6 著作权归作者所有。请勿转载和采集!