ethash
A Nim implementation of Ethash, the ethereum proof-of-work hashing function
Summary
| Latest Version | Unknown |
|---|---|
| License | Apache License 2.0 |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:24 |
Tags
Installation
nimble install ethash
choosenim install ethash
git clone https://github.com/status-im/nim-ethash
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| ethash | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://github.com/status-im/nim-ethash |
|---|---|
| Homepage | https://github.com/status-im/nim-ethash |
| Documentation | View Documentation |
| Registry Source | nimble_official |
README
ethash
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 and distributed under either of
- MIT license: LICENSE-MIT or http://opensource.org/licenses/MIT
or
- Apache License, Version 2.0, (LICENSE-APACHEv2 or http://www.apache.org/licenses/LICENSE-2.0)
at your option. This file may not be copied, modified, or distributed except according to those terms.