I'm looking for a detailed explanation (video would be the best) how and when transaction is being mined on Ethereum network (in theory), since the moment it's created with web3.eth.sendTransaction()
.
To be more specific: Assumptions: time to mine Ethereum block = 16s. If block no. 99 was started to be mined at t=0, and finished mined at t=16, block 100 started at t=16 and is still being mined and I'm creating the transaction (t=17) and it's in pendingTransactions pool.
- When transaction is being chosen to be included in the block? (I know that gas and gasPrice are being key factors and I'm aware that gas block limit exist), but I'm looking for graphical explanation (let's assume that gasPrice is quite high 700 Gwei).
What are possible scenarios?
- Will transaction be included in block 101?
- Can it be still included in block 100 if one of the miners didn't start to mine block 100?
- If it's mined in blocked 101, will the rest of the network know about transaction in block 102, once it's at least confirmed one time?
I've being looking for answers to my questions and found many related topics, read about gas, gasPrice, GHOTS protocol, but this still seems not entirely clear to me.
Thanks!