The version of software the Bitcoin client is running
The timestamp of the block
The root of its containing transactions' merkle tree
The hash of the block before it
A nonce
The target
In my illustration when I was saying "current transactions" I was referring to the merkle tree as well. So this is saying the same thing that the input is basically current transactions in my block (merkle tree) and hash of previous etc + nonce.
So apologize for repeating the question that if I start my effort early, why would it not give me a head start? Isnt the rough logic of a miner
Code:
while ( accumBlockSize < myMaxBlockSize && maxTimeIwantHasNotPassed )
{
takeTransctionFromPoolAndAdd
accumBlockSize += sizeOfNewTransaction
}
// Now I have enough lets hope I can create a good Header
for ( ;; )
{
myHash = getHash ( all inputs, merkelRoot (transactions), nonce )
if ( myHash is valid per rules )
break;
nonce++
}
// If I am here I have a valid block
broadCastAndPrayItIsAccepted();
vs
Code:
fork ( sinceBlockHeaderHasNothingToDoWithTransactionsCreateNewBlockHeader)
while ( .... )
{
accumate Transactions
waitFotThreadToCompleteAsync
{
if I completed - dont care how many transactions- just broadcast
}
}
Per earlier responses I understood that generally miners execute second type of logic so head-start wont matter. On my laptop with 0 transactions it will take 10+ minutes to get the hash output so no point even playing the game.
But per lots of posts it seems to be the former hence re-ask.
With today's difficulty, is there a website or something where I can see how long it will take to get the hash function output that is valid? Will it take > 10 minutes on most personal computers?
Thanks again and no flames please!