Luxcore June 2020 Update

LUXCORE
Luxcore
Published in
4 min readJun 19, 2020

This is a long overdue update on Luxcore development. As covid hit us about 3 months ago, it changed the life of everyone. This was not different for the Luxcore team. As our team is spread out across the globe, everyone has experienced different challenges in adjusting to their new routines. Some have been in the midst of big waves of covid in their region, while others had to step away from the computer to attend to family with managing kids at home 24/7 and adjusting to a work-at-home lifestyle.

With things getting better worldwide, I’m taking this moment to write an update about Luxcore development and where we are heading in the future.

Our top priority is to update our algorithm to RX2 which is actively under development. We know many in the community have been anxious for this update so they can take a fresh look at mining and to ensure that mining rewards are more widely distributed. So here is an update on where we are with the RX2 development:

RX2 PROGRESS

  • In preparation for final implementation, we reworked how the hashing ‘swap/forkover’ logic works as the previous flag-based system was not ideal, and instead will work on a height-based system. This might sound small but was actually a big task to go through.
  • We have imported all the necessary code and protocols to utilize the initial RandomX implementation: https://github.com/LUX-Core/lux/commit/6a965db3f4cf00ec6118d45f11f7a933a4ef3435
  • To get comfortable with the RandomX routines, we wrote a set of helpers / boilerplate code to allow us to quickly initialize/swap between RandomX hash.
  • The development of a stratum to accept RandomX has been done as well https://github.com/LUX-Core/yiimp-randomx. Expect more updates on this one to accept RX2 before final release.
  • We built a couple version of the cpu miner to accept and process our 144 bytes. LUX is different than probably 90% of the projects out there as we are running smart contracts over a bitcoin codebase chain, so the implementation for us is a bit unique. The latest cpu miner code can be found at: https://github.com/LUX-Core/cpuminer-randomx. But same as above, expect more updates and speed improvements on this before the final release.
  • We took the decision to implement a bit more of a mature version and adapted the already tested code from Monero directly into Lux.
  • We have removed the legacy RandomX routine now that we are using a different one.
  • After testing smallpages and largepages modes, we will be initiating RandomX in smallpages mode for better optimization.
  • We have split the seedstore out from the blockhashing primitives and rewrote it to deal with block rewind.
  • We have reworked how the daemon manages to split pow/hash as RandomX needs its own separate function as it cannot be called to calculate the blockhash on daemon init.
  • We built a kernel to accept LUX 144 bytes headers and started the RandomX implementation.

CURRENT WORK IN PROGRESS

  • We are currently working on fixing an issue with the seedhash randomization of RandomX into LUX codebase.
  • Once the seedhash randomization issue is complete, we will set up a new test network and start testing with the cpu miner to verify everything works as it should. This is where we should know if there is more work that needs to be done or if we can carry on with more advanced testing and benchmarking, etc.
  • While the cpu mining tests are happening, we will be able to complete the kernel integration for the GPU miner.

Once we have the above complete, we will be running a batch of internal tests to then move forward to plan a fork date. The team really would like to apologize about how long all these algorithm changes are taking. We have really underestimated the work that had to go into implementing RandomX in our uncommon codebase, and we hit a few different obstacles along the way (including covid of course). That said, we are still working continuously to get this done and we are as anxious as you are to complete it.

LUXGATE UPDATE

Currently, we are putting all of our efforts into the algo change, but Luxgate is our next priority. Luxgate has a small bug in the orderbook that needs to be fixed before public beta. Unfortunately, during the covid pandemic, we lost a lot of availability from our primary Luxgate developer. We are currently looking for a developer to join the team and give him a hand. We are looking for someone with blockchain c++ / solidarity experience, so if you know anyone or are interested in joining us please contact Guillaume (Arsonic) on discord or via email at guillaume@luxcore.io.

FINAL THOUGHTS

I know this was a very technical update, but that is the current stage we are in. It’s hard to dress up solving code challenges and implementing new functions into a flashy update with pictures or video. Once we through the RX2 implementation we will get back to more media-rich updates, especially when it comes to Luxgate.

We want to thank everyone that is still supporting us during those difficult times and we wish you the best. I speak for the entire team when I express our appreciation for your patience, well wishes, and general support. I also want to thank my team for their dedication and hard work going on behind the scenes.

Website: https://luxcore.io/
Facebook: https://facebook.com/LuxcoreTeam
Twitter: https://twitter.com/LUX_COIN
Github: https://github.com/LUX-Core
Reddit: https://www.reddit.com/r/LUXCoin/
Telegram: https://t.me/LUXcoreOfficialChat
Discord: https://discord.gg/luxcore
Bitcointalk: https://bitcointalk.org/index.php?topic=2422372

Finally, please feel free to leave us your feedback, as we always welcome it!

-The Luxcore Team

--

--