Commit Graph

41 Commits

Author SHA1 Message Date
andri lim 31ec33cf8e
fixes related to nimcrypto breaking changes 2019-11-06 19:31:07 +07:00
andri lim 657d22c951
put parentheses back into fnvHash 2019-09-09 19:46:10 +07:00
andri lim a2536e31b3
fixes 32 bit failure 2019-09-09 18:09:09 +07:00
andri lim adf4fdfe09
fix windows compilation error 2019-09-09 14:16:34 +07:00
mratsim 0172ad099d fix comments, remove useless cast 2018-08-22 14:02:25 +02:00
Mamy Ratsimbazafy ea46bad40e
Switch to nimcrypto (#6) fix #9
* Cosmetic change on the conversion proc + keep a copy of keccak_tiny implementation as benchmark

* Update ethash to use nimcrypto

* Use the same CI build system as Nimbus
2018-07-23 14:52:14 +02: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
mratsim 6955ace961 Rework the nonce validation algorithm. fixes #3 2018-02-28 17:26:02 +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 2f95b74b36 A "not" overflow was missing 2018-02-27 19:08:51 +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 6aedd32111 Pass the tests 🔥 ⚠⚠ Endianness in PoW spec seems wrong 2018-02-25 12:34:33 +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 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 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