2018-09-04 22:02:12 -06:00
2018-08-22 14:02:25 +02:00
2018-07-23 14:52:14 +02:00
2018-09-04 22:00:14 -06:00
2018-02-15 11:23:42 +01:00
2018-09-04 22:00:14 -06:00
2018-07-23 14:52:14 +02:00
2018-09-04 22:02:12 -06:00
2018-09-04 22:02:12 -06:00
2018-02-28 18:46:28 +01:00
2018-09-04 22:00:14 -06:00

ethash

Build Status (Travis) Windows build status (Appveyor) License: Apache License: MIT Stability: experimental

Introduction

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

Implementation is based on the spec revision 23 (2017-08-03).

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 (especially AVX2) and with OpenMP multiprocessing. On MacOS, OpenMP requires installing GCC-7 and 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.

License

Licensed under both of the following:

Description
Nim implementation of Ethash, Ethereum proof of work and Ethereum mining
Readme
Languages
Nim 68.2%
Python 31.8%