if (hash nNonce = tmp.block.nNonce; assert(hash == pblock->GetHash()); //// debug print printf("BitcoinMiner:\n"); printf("proof-of-work found \n hash: %s \ntarget: %s\n", hash.GetHex().c_str(), hashTarget.GetHex().c_str()); pblock->print(); printf("%s ", DateTimeStrFormat("%x %H:%M", GetTime()).c_str()); printf("generated %s\n", FormatMoney(pblock->vtx[0].vout[0].nValue).c_str()); // ........... SetThreadPriority(THREAD_PRIORITY_LOWEST); Sleep(500); break; }
Và đây đoạn khởi đầu 1 vòng tạo khối mới:
Sleep(50); if (fShutdown) { return; } while (vNodes.empty()) { Sleep(1000); if (fShutdown) { return; } if (!fGenerateBitcoins) { return; } }
Như vậy có thể là tổng thời gian sleep là khoảng 550ms. Vậy nên khi các miner pool họ chia khoảng số nonce ra để đào thì một khối có thể được tạo ra nhanh hơn là 10 phút