ethash

C/C++ implementation of Ethash and ProgPoW – the Ethereum Proof of Work algorithms

APACHE-2.0 License

Downloads
352
Stars
142
Committers
7

Bot releases are hidden (Show)

ethash - ethash 1.0.1 Latest Release

Published by chfast over 1 year ago

  • CMake and build improvements. #230 #231
ethash - ethash 1.0.0

Published by chfast about 2 years ago

  • Removed: Deprecated function ethash_verify() has been removed. Use ethash_verify_against_boundary(). #226
ethash - ethash 0.9.0

Published by chfast over 2 years ago

  • Added: The constant ETHASH_MAX_EPOCH_NUMBER = 32639 representing the maximum supported Ethash epoch. #212
  • Removed: Previously deprecated ProgPoW implementation. #207 #209 #210
  • Removed: Support for using custom hash function for light cache generation. #213
  • Removed: The internal header builtins.h. #208
ethash - ethash 0.8.0

Published by chfast almost 3 years ago

  • Added: The new set of functions which verify Ethash hashes against difficulty has been added to the library: verify_against_difficulty() and verify_final_hash_against_difficulty(). These functions improve usability by omitting previously required difficulty to boundary conversion. The old verification function is still available under the verify_against_boundary() name but its usage is discouraged. #195
  • Added: The dedicated procedure to convert difficulty to boundary ethash_difficulty_to_boundary() has been added to the testing infrastructure but can be promoted to the public API if requested. #191
  • Deprecated: verify() has been deprecated and replaced with verify_against_boundary(). #193
  • Deprecated: verify_final_hash() has been replaced by verify_final_hash_against_difficulty(). #200
  • Deprecated: The ProgPoW support has been deprecated and will be removed in the next release. #201
  • Changed: The internal hash type comparison operators have been optimized and the dependency on the memcmp() function has been dropped. #186
  • Changed: Verification functions now return error codes instead of bool with additional information about which verification check has failed. #187
    • In C API error codes are represented by the ethash_errc enum,
    • In C++ the error codes are wrapped into std::error_code.
  • Changed: Some build requirements have been increased.
    • C11 is required (previously C99), #188
    • C++14 is required (previously C++11), #189
    • CMake 3.16 is required (previously 3.13), #205
    • Python wheels are now built with manylinux_2_24. #194
ethash - ethash 0.7.1

Published by chfast about 3 years ago

  • Added: Support for building with clang-cl (LLVM-based toolchain for Visual Studio 2019). #179 #180 #182 #183 #184
ethash - ethash 0.7.0

Published by chfast over 3 years ago

  • Changed: The global context API (aka "managed" API) has been moved to separate library ethash::global-context and ethash/global_context.hpp header. #175
  • Added: CMake options to disable building of individual libraries:
    • -DETHASH_BUILD_GLOBAL_CONTEXT=NO disables building ethash::global-context.
    • -DETHASH_BUILD_ETHASH=NO disables building ethash::ethash and ethash::global-context. Only ethash::keccak is built then.
  • Added: Basic support for building to WebAssembly #175
ethash - ethash 0.6.0

Published by chfast almost 4 years ago

  • Added: The ethash::keccak library received the optimized Keccak implementation which uses BMI and BMI2 x86_64 extensions. This implementation is automatically selected at startup provided the used extensions are available in the hardware. #162 #168
ethash - ethash 0.5.2

Published by chfast about 4 years ago

  • Fixed: Fix compilation with MSVC/C++17. #154
ethash - ethash 0.4.4

Published by chfast over 5 years ago

  • Fixed: [#125] Fix compilation on PowerPC architectures (-mtune=generic not supported there).
ethash - ethash 0.4.1

Published by chfast over 5 years ago

  • Added: KISS99 PRNG distribution tester tool.
  • Changed: ProgPoW implementation updated to revision [0.9.2][progpow-changelog].
  • Changed: ProgPoW implementation optimizations.
ethash - ethash 0.4.2

Published by chfast over 5 years ago

  • Fixed: The progpow.cpp file encoding changed from utf-8 to ascii.
ethash - ethash 0.4.3

Published by chfast over 5 years ago

  • Added: [#121] The public version.h header with information about the ethash library version.
  • Added: [#121] Ethash and ProgPoW revisions exposed as {ethash,progpow}::revision constants.
ethash - ethash 0.4.0

Published by chfast almost 6 years ago

  • Added: Experimental support for [ProgPoW] [0.9.1][ProgPoW-changelog].