OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Ethash

Ethash is an open-source C/C++ library that implements the Ethash and ProgPoW proof-of-work algorithms, exposes documented functions for use in software, and includes a micro-benchmark tool. It builds from source with CMake and is licensed under Apache-2.0.

Independent OpenViST project profile, based on linked sources.

Ethash — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Ethash when a C/C++ project needs the library's Ethash or ProgPoW algorithm functions, or when you want to build its included micro-benchmark.

Who it is for

  • C/C++ developers integrating Ethash or ProgPoW computation into an application.
  • Developers building or using a micro-benchmark for proof-of-work computation.
  • Teams creating a project-specific wrapper around the library's exported algorithm functions.

Documented uses

  • Build the library from source with CMake.
  • Inspect the exported functions and their documentation in ethash.hpp.
  • Build and run the included ethash-bench micro-benchmark.
  • Use the implementation as a base for a compatible C/C++ integration or wrapper.
Before you choose

Requirements & limits

  • The project is a library rather than a ready-to-use mining application or service.
  • CMake is the documented build system; the README gives a short source-build sequence.
  • The README points to ethash.hpp for exported functions and API documentation.
  • The dataset-size calculation is described as naive and as forking well only up to a 40-bit number.
  • The repository specifies the Apache-2.0 license.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Build Ethash from source and find its exported functions

Compile the library with CMake, then locate the API documentation in ethash.hpp.

Before you start

  • CMake
  • A C/C++ build environment

Steps

  1. Create a build directory and enter it.

  2. Run cmake .. from that directory.

  3. Run cmake --build . to build the project.

  4. Consult include/ethash/ethash.hpp for exported functions and documentation.

Expected outcome

A CMake-built library and a reference to its documented exported functions.

Guide limitations

  • The build instructions do not specify platform-specific dependencies or integration steps.
  • Building the library does not by itself establish that a particular application is compatible.
Source-based practical guide

Build and run the Ethash micro-benchmark

Use the repository's documented benchmark tool to examine proof-of-work computation performance.

Before you start

  • CMake
  • A C/C++ build environment

Steps

  1. Build the project from source using CMake.

  2. Build and run the ethash-bench tool included with the library.

Expected outcome

The repository's micro-benchmark tool is built and run.

Guide limitations

  • The documentation does not specify benchmark options or provide a comparison procedure.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
13 October 2026
Original website title
chfast/ethash · Official homepage title · retained in its source language