«Prev Epoch Next Epoch»

Ethereum: basics 1

0/18 pages

Download the Full BlockChain, epoch by epoch

Download Ethereum Blockchain - Epoch 16

Donate at  0x57f64f50ab0510650b551ec2cb7c7f5d6c7271a5
sha256 checksum: the file exists, checksum will arrive soon

Epoch 16: Geth: CPU mining


Who knows the world of cryptocurrencies knows also what mining is.
This guide is not intended to explain what mining is and how to mine Ethereum.
You can find a lot of information about this argument out there.
Here we are showing how to CPU mine using geth; this is useful only for learning purposes, or if you'll start to create your own testnet.


For now Ethereum is based on Proof of Work, like Bitcoin.
This means that powerful computers can verify blocks and get a reward for this.
There are entire networks mining Ethereum, so the computing power needed to mine a single block is unreachable with a normal PC.
Some developers wrote ad hoc GPU mining softwares, which use advanced GPUs like te ones of NVIDIA or other graphic boards.
Geth uses a simple CPU mining system, so if you don't have supercomputers with CPU grids you can't see block mining in the main net, but only in the test net.


To mine a block, it's needed to generate hashes. The faster you generate hashes, more chances you have to mine successfully a block, due to probabilistic matters.
The speed of hash generation (hashrate) expressed in hashes/second is the measure unit of mining (in Ethereum but also in other crytos).
So you will often read about Mh/s (megahashes/second), Th (terahashes) and so on

DAG ethash

To avoid miners using ASICs (Application specific integrated circuits) to reach higher hashrates, Ethereum uses a PoW system named ethash which needs a big dataset (about 1 GB) called DAG (Directed Acyclic Graph).
Due to lack of huge memory structures in ASICs, these systems cannot store DAG, and cannot mine Ethereum.
Ethereum can only be mined by GPU and CPU with at least 1 GB of free memory, needed to contain the DAG.
The DAG ethash changes every epoch; when you will launch mining command, mining will not start until these two condition are not verified:

  • the full block chain is downloaded
  • 100% DAG is generated

CPU Mining: the command

geth --etherbase '57f64f50ab0510650b551ec2cb7c7f5d6c7271a5' --mine

where etherbase is the address where you want that reward is sent. You don't need to own this address, you can send reward also to my address :)
After launching this command, geth will sync, then will generate the DAG at 100%, then will start mining

«Prev Epoch Next Epoch»