Massive update about everything
Hey everyone! I know this update is long overdue sorry for the silence. I’ve been heads down in code and making solid progress.
Why Is This Taking So Long?
Fair question, right? Let me walk you through a recent example of what happens when a bug is discovered:
- Discovery
A test crashed with exit code 6.reddcoind(regtest) silently exited during a functional test. - Investigation
Set up GDB debugger, created a reproduction script, and ran multiple test cycles. - Root Cause
Traced the crash to line 22 offeerate.cppthrough backtrace analysis. - Fix
Implemented a three-layer solution with proper overflow protection. - Verification
Re-ran all tests to ensure the fix worked and didn’t break anything else.
Time spent on this single bug: ~3 to 4 days of focused work.
This is just one example of a bug found during testing.
- 483 unit tests
- 216 functional tests
We’ve also needed to make code adjustments to improve compatibility with the testing framework. This is why thorough testing matters better to catch issues now than have nodes crashing in production.
My focus is completing these tests so we can be as confident as possible that the next release is a solid platform.
Critical Bug Fixed
While running SegWit tests, we discovered a bug that could potentially crash nodes.
The issue:
A transaction with a fee of 545 million COIN could trigger an integer overflow in fee calculation.
The problem:
The code checked MAX_MONEY (supply limit) instead of the actual mathematical limit. When multiplying fee × 1,000, it exceeded what a 64-bit integer can hold resulting in a crash.
Real-world risk:
Extremely unlikely. Creating a fee of 545 million COIN would be nearly impossible under normal conditions. However, edge cases matter and testing caught it.
The fix:
- Switched to the correct threshold:
INT64_MAX / 1000 - Added result clamping
- Implemented bounds checking
Merged and deployed.
Major Upgrades Coming
Our next release focuses on deploying:
- CSV
- SegWit
- Taproot (stretch goal)
Timeline:
CSV, SegWit, and Taproot will roll out in a single release. Each deployment will be spaced 1 month apart, with a 1-year timeout window.
Testing Status:
- Unit tests complete
- Functional tests in progress (rewriting Bitcoin tests for PoW + PoS support)
Why it matters:
This brings ReddCoin in line with modern Bitcoin standards enhanced security, lower fees, Lightning Network readiness, smart contract capabilities, and a stronger foundation for ReddID.
You can track progress on GitHub:
https://github.com/reddcoin-project/reddcoin
