I'm trying to understand how we mine...and have a few high level questions.
1.) Are we iterating through blocks to find in the DAG, or as we find/mine a 'nugget' it is assigned a block # in the sequence.
2.) If we are iterating through blocks, at the beginning of the iteration are we all racing to solve the same block #
I read a little about the DAG and how the 'work' is contained there and resets after 30k but...
In other words is this a lottery where every hash is a ticket increasing your chance to win the draw or is it a race?
Is it better to have the client on a separate machine and the GPU workers on another?
On a side note, I gave up on Ubuntu 15.10 and I'm really frustrated...will give it another try in the future Windows was really easy.
Thanks!
ASRock H81 Pro BTC, 5 R9 380s
0 ·
Comments
a separate client is preffered, have it mining with one GPU and backed up by a UPS to protect against power failures. Then point those GPU workers on another machine at it.
It's said to be a lottery, one way you might improve the chance of finding blocks, is to look at the Parity client which might be more efficiant than Geth.
In addition, if you want to try solo mining in an enviroment where you can find fequent blocks take a look at the ethereum alt coin Shift.
I've read that there is a penalty for leaving a pool for maintenance...is there any penalty in solo down time other than opportunity cost?
I understand what GAS is, and why it is required. But who receives the GAS that is spent to run a contract?
I see many of these questions asked, and they are generally answered by explaining what GAS is, but never come out a definitively say that a miner or node that the code runs on receives the GAS.
Also I would imagine that complex contracts would require CPU cycles, so how does this work and can it impede node performance thus impacting mining? How does this impact architecture decisions?
Yes, a node does expend CPU resources processing transactions. Even though mining itself doesn't take much in terms of CPU, a node can, and you should consider running it on a decent multi-core/threaded processor. I'm not say it needs to be a kick-ass i7, but you really don't want to be running your node on an old pentium, either, if you want decent responsiveness when processing transactions. This can be seen easily when you're downloading the blockchain "fresh".