So without any ado, a brief update for Friday Feb 2nd, 2018
I’ve been a full time employee of Grin for nearly 48 hours now! But the work I’ve been doing over the past couple of days has mostly been finishing up work I’ve been doing on mining. Since the last posting, these are the major tasks I’ve undertaken:
- Adjustments to the difficulty calculation as discussed previously, with much input from @tromp: [WIP] Difficulty Adjustment Updates by yeastplume · Pull Request #651 · mimblewimble/grin · GitHub
The changes here are to clean up the difficulty adjustment code to simplify it and make it easier to follow (important for consensus-critical code), and to allow for earlier adjustment of difficulty. In the previous version, the code would not adjust from genesis difficulty until a number of blocks had been mined. After these changes, it will start coming down immediately after the first block is mined if it’s way off. This means that if the initial difficulty is set too high on launch (which we should be aiming for,) then the difficulty will immediately come down, a good thing lest miners start getting dismayed by hopelessly long blocks.
- Integration of lastest CUDA miner and bug fixes
The latest MEAN CUDA miner has been fully merged into cuckoo-miner and grin, and you can now use it to test full-production style mining in within Grin. To assist with this and to get us started collecting stats, I’ve put together a Cuckoo 30 Mining Guide which can be found here:
There were quite a few parameters needed to be integrated within the final version, which meant more changes to the supporting cuckoo-miner code than I’d expected. However, it’s all there any working now, and hopefully most changes from now on will be bug fixes and incremental improvements as the community starts testing.
Hopefully this last bit of work draws a (very faint) line under mining changes for Testnet2, and as of next week I’ll be moving on to other things that need work. My current plan for early next week is:
-
Tackling the aggsig tasks I still have outstanding just to get them closed off: Concurrent aggsig transactions · Issue #593 · mimblewimble/grin · GitHub
Aggsig error handling · Issue #594 · mimblewimble/grin · GitHub -
Going to check up on the current status of the Bulletproofs code, as well as spend more time with the whitepaper than I have previously to ensure I understand them properly. I hope it’s far enough along to start thinking about integrating into our libsecp256k1 fork.
That’s just a start… and I’m sure plenty of other things will come up