DAG files are needed for Ethereum proof-of-work system: https://github.com/ethereum/wiki/wiki/Ethash-DAG

However are these files necessary for non-mining clients e.g. geth full nodes that do not mine?

1 Answer 1


the DAG is needed for the mining (POW).

when you start up your node from scratch, mining will only start once the DAG is built for the current epoch.

from the DOC :

Automatic DAG generation is turned on and off when mining is controlled from the console. It is also turned on by default if geth is launched with the --mine option. Note that clients share a DAG resource, so if you are running multiple instances of any client, make sure automatic dag generation is switched on in at most one client.

To generate the DAG for an arbitrary epoch:

geth makedag For instance geth makedag 360000 ~/.ethash. Note that ethash uses ~/.ethash (Mac/Linux) or ~/AppData/Ethash (Windows) for the DAG so that it can shared between clients.

epoche = 30000 blocks, a 125-hour window.

so DAG is not necessary for nodes that didn't mine

  • Automatic DAG generation is turned off for the mining node, does it have a bad impact ?
    – alper
    Dec 29, 2016 at 9:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.