nim-ethash/README.md
mratsim 61108cbc13 🔥 Speed and memory optimizations (OpenMP !):
- OpenMP multiprocessing for dataset generation
- remove some temporaries
- add march_native flag
2018-02-28 18:46:28 +01:00

1.3 KiB

Nim Ethash

Build Status (Travis)License Stability: experimental

A pure Nim implementation of Ethash, the Ethereum proof of work

Implementation is based on the spec revision 23 (2017-08-03) and under the Apache License v2.

Mining

An unoptimized mining CPU backend is available through the compile-time flag -d:ethash_mining. It requires compilation through the C++ backend.

Optimizations

For maximum speed, compile Ethash with -d:release -d:march_native -d:openmp. This will compile Ethash in Nim release mode, with all supported CPU extensions (AVX2 especially) and with OpenMP multiprocessing On MacOS, OpenMP requires installing GCC-7. It can be done through homebrew.

Original implementation

Original Ethereum implementation is available here.

Warning ⚠ - License notice: the original implementation is under GPLv3 or LGPLv3 and must not be used in this project.