News:Project Update 2025-04-12

From Nexus Wiki
Revision as of 13:09, 26 April 2025 by Nexus wiki (talk | contribs) (Created page with "= Summary = == Development Focus == * Sanitizer Testing: Heavy use of AddressSanitizer, ThreadSanitizer, and UndefinedSanitizer on live mainnet nodes * Bug Fixes: Found and resolved 3-4 significant bugs causing undefined behavior * Hardening Soft Float: Addressed casting issues to improve stability * Resolved macOS Core Connection Issue: OSX instability issue resolved (previously affecting Ken) == Syncing Enhancements == * Sync Test from Block 0: Completed in ~1 hour...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Summary

Development Focus

  • Sanitizer Testing: Heavy use of AddressSanitizer, ThreadSanitizer, and UndefinedSanitizer on live mainnet nodes
  • Bug Fixes: Found and resolved 3-4 significant bugs causing undefined behavior
  • Hardening Soft Float: Addressed casting issues to improve stability
  • Resolved macOS Core Connection Issue: OSX instability issue resolved (previously affecting Ken)

Syncing Enhancements

  • Sync Test from Block 0: Completed in ~1 hour and 3 minutes
  • Sequential Sync Mode: Near production-ready; improves sync speed by optimizing hard drive read patterns
  • Legacy Contracts: Achieves 20-25k contracts/second
  • Tritium Optimization in Progress: Using Valgrind/Callgrind for performance profiling

Upcoming Release

  • Target Version: 6.0.0 (Hard Fork)
  • Current Version: 5.1.5rc13.6
  • Testnet Activation: Planned with Neal, followed by release readiness
  • Release Timeline: Estimated 2 weeks to 6.0 release, then 1-week activation timer

Use Cases & Funding

  • AI Use Case: Progressing well, securing funding, finalizing whitepapers
  • Media Use Case: Starting development—backend setup and dev servers

Future Plans

  • Expect 6.0.0 Hard Fork activation by end of April

Transcription

Hey, guys. Welcome to the development update. Today is Friday, April 11, 2025, and I'm gonna be going through what has been completed this week. So mainly this week, I've been focusing on debugging and hardening. So if anybody's familiar, there's something called address sanitizers and thread sanitizers and undefined sanitizers.

I was running that quite a bit last week, but I've been running that even more this week, running on live nodes, running over the main network, and making sure everything's really solid, which I think as of late, I think I got three or four pretty good bugs that would cause undefined behavior. So this is really important because if anybody's know, sometimes undefined behavior can manifest in just the undefined ways. So, you know, your node could be running, and then next thing you know, it's not generally is the way that it's experienced.

But I've been very happy to find these number of issues. I also hardened out some of our soft float. We basically had some casting issues and things like that. Address sanitizer, non defined sanitizer have been actually really, really helpful, especially running on main network nodes that are receiving lots of API requests. I guess I think I mentioned last week I solved the bug that Ken was having. There was an instability issue with OSX. Anybody that was having trouble having it connecting to core, that's resolved now.

I believe Kendall should be submitting that in. I've been having some Internet outages in and out this week, so I haven't been able to get online as much as I would have liked to as far as doing some codes on the test net, or even over the main net. But I have been getting the syncing. I just did a actual sync test from block zero, and it synced all the way in about one hour and three minutes, which is pretty dang good, which means that I synced all the way in about an hour. That's obviously with really fast Internet, which I did this just as a local test, so that's not accounting for external bandwidth.

But the sequential sync code that I've gotten, I've gotten that, I think pretty close to being ready to be deployed as a a default feature. So that'll also help with people syncing from other people's hard drives because it basically takes advantage of sequential reads. Basically, reading big batches off your hard drive a lot faster than, you know, doing random reads. You know, solid state drives are a little bit better at random reads, but our drives are, pretty good. Once they get wound up, they're gonna read really quickly.

So I got that. Like I said, I've had to fix some of the bugs in that, the stability wasn't quite where I liked it to be. But now I've been sinking like crazy off of it. And like I said, it delivers blocks. I mean, down in the legacy contracts, it does up to twenty, twenty five thousand contracts per second as far as download speed.

I'm working on improving the speed on the tritium ones. Those calculations should be a lot faster, so that's something I'm investigating. I'm using a tool inside Valgrind called Callgrind that's telling me basically what's being called. It does basically profiling, so it tells me how what parts are fast or what parts are slower. So, ideally, these, these bugs should be just about wrapped up, this week.

And like I said, Neal and myself will be getting on the test net and be doing a test net activation. And once we feel pretty confident in that and we have a couple activations right through, Then we're gonna get ready for our release. And once the wallet is released, then it's gonna be a one week timer. So make sure and this is a full release. This will be version 6.0.0.

I'm currently on version 5.10.5, release candidate 13, build six. I added an extra build, hyphenation so that anytime I'm doing slight little tweaks or bug fixes, I can just iterate the build number versus release candidates or subsets of features underneath the actual, the minor version number. So anytime we iterate a major version number, that's going to be a hard fork. So once for six point zero point zero, that will be our hard fork. And like I said, I think Kendall will be getting some of those builds out next week.

And like I said, we're starting on couple use cases actually, which is the AI one is moving along very well, and I'm securing funding on that. Ideally, I've been waiting on some of the funders to make sure that we have our white papers all just about wrapped and good to go. So I'm feeling pretty confident on that. And then the media use case is we're starting the initial development on that as far as getting development servers and building some of the back end. So it's all pretty much ready to go.

I hope to have all the test net testing done by the end of next week so that I'll be able to give you an official timeline on the release. Once all the test net testing is done, I'll probably do another week of hardening like I've been doing this week, and then have that finally released at the end of that week. So I'd estimate about two weeks from now, we should have six point o out and then one week to activate. So most likely by the April, we should be good to go on the activation, and that's gonna start a cascade of a lot of new possible outcomes, such as getting ourselves on new exchanges and solving a lot of those issues. So, again, thank you everybody for your patience, and I will give you another development update in one more week.

Take care, everybody.