-
Notifications
You must be signed in to change notification settings - Fork 516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: ProgPoW v0.9.2 support #111
base: master
Are you sure you want to change the base?
Conversation
This improves performance using 512bit SIMD instructions.
Fixes #4115.
It looks like older versions of GCC have slightly unreliable logic for array out-of-bounds detection. Code in ethash which uses unions and arrays is firing a warning in both Debian Jesse (8.5) and in the ARM Linux cross-builds. Debian Jesse uses GCC 4.9.2. The cross-builds are using GCC 4.8.4. Other distros are using GCC 5.x or even GCC 6.x (Arch). The issue is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273 and was fixed in GCC 5.0 and backported to 4.9.3. Updated comments.
With this change we will be able to remove a global warning suppression from our CMake files.
* Add the ProgPow code for client * fix a mem crash, which results from light is NULL in full node mode. So I pass blocknumber from EthashAux to ethash_full_compute and ethash_hash * misunderstanding mix and result before. fix
* and support progpow_light_compute() * remove duplication codes. * fixed misc bugs. * See also: - chfast/ethash#108 - ethereum/go-ethereum#17731 - https://github.com/ifdefelse/cpp-ethereum/tree/a998c9e9335f4f8bfc89a4f9598d1cce8fad3330
based on "EIP-1057 algorithm clarifications" ethereum/EIPs#1618
As I said in #112, this is not maintained. Can you consider using https://github.com/chfast/ethash instead? It has better API, it faster and has ProgPoW support in place (although not exposed by proper API yet). I don't have control over this repo, so I cannot merge any changes. |
thank you for your kind reply! my work is almost the same as the reference implementation by ifelsedef with small fix. I will try to adapt your chfast/ethash sooner or later. |
Oh, if you need Go bindings I can add them to chfast/ethash directly. |
But there is also pure Go implementation in https://github.com/ethereum/go-ethereum/tree/master/consensus/ethash. |
* unique sources for random math by ifdefelse - ifdefelse/ProgPOW@824cd79 * test cases from : chfast/ethash#116 by chfast
temporally fixed golang wrapper
WIP: support both ethash / ProgPoW spec
v0.9.1v0.9.2 (12/10)used by open-ethereum-pool
minimal fix needed to work with the ProgPoW-ethminer fork.
See also #110
TODO
references
screenshot
open-ethereum-pool (with small fix) with ProgPoW-ethminer fork miner