Commit Graph

49 Commits

Author SHA1 Message Date
mratsim caa457210a Update ethash to use nimcrypto 2018-03-24 18:08:53 +01:00
mratsim 60a143ad0f Cosmetic change on the conversion proc + keep a copy of keccak_tiny implementation as benchmark 2018-03-24 17:35:47 +01:00
mratsim 66d7fb6575 require Nim 0.18 2018-03-02 10:12:31 +01:00
mratsim 61108cbc13 🔥 Speed and memory optimizations (OpenMP !):
- OpenMP multiprocessing for dataset generation
- remove some temporaries
- add march_native flag
2018-02-28 18:46:28 +01:00
mratsim 78ff9d9305 memory copy optimization 2018-02-28 17:52:39 +01:00
Mamy Ratsimbazafy 2c66038c61
Merge pull request #4 from status-im/fix-all-mul-overflow-cases
Rework the nonce validation algorithm. fixes #3
2018-02-28 17:35:37 +01:00
mratsim 6955ace961 Rework the nonce validation algorithm. fixes #3 2018-02-28 17:26:02 +01:00
mratsim f9cf0b78df Mining test: we can only test that it runs without crash/exception 2018-02-28 12:54:01 +01:00
mratsim 833a26c8c7 Remove closure and inline dataset calls (see #2) 2018-02-28 10:44:27 +01:00
mratsim 4d1cc3a359 Remove ttmath dependency for mining 2018-02-27 19:31:25 +01:00
mratsim 0e1a1169e4 Merge branch 'master' of https://github.com/status-im/nim-ethash 2018-02-27 19:08:59 +01:00
mratsim 2f95b74b36 A "not" overflow was missing 2018-02-27 19:08:51 +01:00
Zahary Karadjov 420b7d513c Use the standard Nimble name for the Apache v2 license 2018-02-27 19:59:55 +02:00
mratsim c949d9729c Add (failing) mining test 2018-02-27 15:37:42 +01:00
mratsim b3d4bf3f84 don't inline recursive function 2018-02-27 13:57:09 +01:00
mratsim 69a0c68d3f Rework mining implementation without uint256, div and mod 2018-02-27 13:55:00 +01:00
mratsim 1840c12d1d Prepare tests files for mining tests 2018-02-27 11:29:46 +01:00
mratsim e3ebf7b0e5 Add Ethereum mining (⚠ no test) 2018-02-26 21:39:22 +01:00
mratsim cc52064cde Add BigEndian + Refactoring: remove U512, mapArray, modular arithmetics 2018-02-25 15:55:42 +01:00
mratsim aacd7234b4 Fix comment/reference in test file 2018-02-25 14:50:18 +01:00
mratsim 806d3298cc Add PoW test for block 30001 and 60000 2018-02-25 14:48:42 +01:00
mratsim 6aedd32111 Pass the tests 🔥 ⚠⚠ Endianness in PoW spec seems wrong 2018-02-25 12:34:33 +01:00
mratsim 3d219299aa Fix original implementation call. Now outputs correct results 2018-02-23 17:49:56 +01:00
mratsim d5dc5a5bed Original ethash implementation does not pass its own tests? 2018-02-23 17:32:23 +01:00
mratsim 118da2ea29 Add a wrapper to the C lib to the spec folder 2018-02-23 16:43:37 +01:00
mratsim f11a6a2cde Remove the hard to read concat procs 2018-02-23 15:37:33 +01:00
mratsim 3dd362990e Refix final step of hashimoto + add actual block 22 (failing) test 2018-02-23 10:21:25 +01:00
mratsim 3b0281a262 Unroll the hashimoto loops to make it easier to reason about. Now light and full agrees 2018-02-22 15:54:23 +01:00
mratsim d355c37bed check if dataset and recomputation from cache matches 2018-02-21 20:37:06 +01:00
mratsim 235fc1e7a2 Fix calc_dataset_item of item 0 test 2018-02-21 18:49:52 +01:00
mratsim 182e9b68af Add yet another failing test (calc_dataset_item) 2018-02-21 18:40:09 +01:00
mratsim 5620f337cc Add (failing) hashimoto light vs full test 2018-02-21 14:48:57 +01:00
mratsim 63332df55b Add cache generation test 2018-02-21 14:24:08 +01:00
mratsim 971871dbe7 Added (failing) light Proof of Work test 2018-02-21 12:34:33 +01:00
mratsim 237b01f62e Add seedhash computation + seed fixes 2018-02-21 12:19:09 +01:00
mratsim b8af327118 Add computed and LUT sizes tests 2018-02-21 10:48:44 +01:00
mratsim 403d954637 Implement light and full dagger Hashimoto Proof of Work (not tested) 2018-02-20 23:17:13 +01:00
mratsim 6e0dd3ef22 [WIP] Fighting with types and implementing hashimoto 2018-02-20 19:14:22 +01:00
mratsim d53b7e9c0a Add CI, genesis tests and data sizes lookup tables 2018-02-19 17:14:19 +01:00
mratsim 388fd963f0 Add basic hashing tests and use keccak instead of sha3 2018-02-19 16:02:37 +01:00
mratsim d830f6993f Remove dependency on number theory (not on Nimble) & prepare for tests 2018-02-19 15:17:41 +01:00
mratsim b62d9e0883 Fix int -> uint conversion issue in mkcache 2018-02-19 15:02:01 +01:00
mratsim 7669f820dc Add benchmark (mkcache not compiling yet) 2018-02-19 14:50:14 +01:00
mratsim f6f2725cf2 Add bigEndian/littleEndian distinction 2018-02-19 13:42:52 +01:00
mratsim 6fb91f346f Add calc_dataset_item and zipMap without heap alloc 2018-02-19 12:49:53 +01:00
mratsim a557f8e675 Add cache generation and FNV hashing functions 2018-02-15 18:40:04 +01:00
mratsim bdff346e03 Add parameters procs from spec 2018-02-15 16:33:17 +01:00
mratsim 789a64f507 Add Python spec 2018-02-15 12:35:09 +01:00
mratsim d96742b320 initial commit 2018-02-15 11:23:42 +01:00