Our Bismuth V2 announcement included a list of quite technical work that was done over hundreds of commits.
This list looked a lot like a pre-launch checklist, which is why we made an infographics out of it for you to share 😉
The original post
Bismuth originated as a single-file code base. It grew to become a powerful engine after many thousands of updates & code iterations. With Bismuth2.0, it was time to consolidate, organize and clean up to get better control of the code, permit easier maintenance and streamline external work on the code. Regardless of the core overhaul, the new V2 code base will retain full compatibility with legacy nodes. Legacy support may be dropped at one point in the future once Bismuth2.0 has fully transitioned. Below is a summary of the core overhaul.
- Core code consolidated, organized and cleaned.
- Improved documentation for code, structures and custom architecture.
- Improved functional isolation with help of core modules.
- Easier to test with both unit tests on core modules as well as end-to-end test using the local regmode.
- Amounts are now stored under integer format instead of decimals, which allows for a smaller ledger, faster balance queries and no more complex rounding handling.
- Signatures and public keys are stored as binary instead of hex; meaning that less database space is required.
- Startup sequence fully reworked with “solo mode” on initiation.
- More sanity checks at startup.
- Reorganization and refactoring of code under logical units.
The move to V2 core spreads across a whopping 246 commits, 142 changed files, 12,142 additions and 4,917 deletions.