Mamy Ratsimbazafy ea46bad40e
Switch to nimcrypto (#6) fix #9
* Cosmetic change on the conversion proc + keep a copy of keccak_tiny implementation as benchmark

* Update ethash to use nimcrypto

* Use the same CI build system as Nimbus
2018-07-23 14:52:14 +02:00
2018-07-23 14:52:14 +02:00
2018-07-23 14:52:14 +02:00
2018-07-23 14:52:14 +02:00
2018-02-15 11:23:42 +01:00
2018-07-23 14:52:14 +02:00
2018-07-23 14:52:14 +02:00
2018-02-28 18:46:28 +01:00
2018-07-23 14:52:14 +02:00

Nim Ethash

Build Status (Travis)License: Apache 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) and is 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 (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.

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