The Evolution of Hedera Services: Modularization in v0.49
May 22, 2024
by Hedera Team
Hedera is the most used, sustainable, enterprise-grade public network for the decentralized economy.
Headshot
by Ed Marquez
Developer Relations

The release of services software version v0.49 in May 2024 introduces a significant engineering update to the core code run by Hedera consensus nodes. This substantially refactored version has been  “modularized”, developed, and delivered through extensive work over the past 12 months. This article expands on the details and benefits of this modularization effort and outlines the rigorous testing processes undertaken to ensure software reliability.

A Simplified and Scalable Codebase

The key driver behind modularization was to simplify the Hedera codebase, making it more accessible for collaboration, particularly from external developers. This restructuring introduced new abstractions that clearly separate various concerns within the code, thereby enhancing its manageability and scalability. The more streamlined architecture not only facilitates easier contributions from a growing number of developers but also speeds up the development of new services.

Modularization

More Flexibility and Stability

One of the standout features of the modular code is its flexibility in service creation and behavior modification. This architecture opens the door for future developments like synchronous mode operation, offering developers the potential to use tools like Hardhat to operate a "test" Hedera node, closely mirroring operational dynamics in platforms like Ethereum. This capability significantly lowers the entry barrier for developers familiar with other blockchain environments who are looking to experiment with or migrate to Hedera.

In addition to increased flexibility, the new architecture also improves stability. The update eliminates classes of issues that were previously encountered, thus increasing the overall robustness of the network.

Exhaustive Testing

Understanding the complexities involved in such a significant improvement, extensive testing was a major focus to ensure that the transition to the new software version would be seamless. This included:

  • Writing and porting thousands of unit tests

  • Executing over 1600 Hedera API (HAPI) end-to-end tests to verify backward compatibility

  • Conducting performance and chaos tests to assess the robustness under extreme conditions and ensure scale and throughput were maintained

  • Implementing "reconnect" and operational scenario tests to ensure high levels of availability and resilience

  • Running continuous "migration" tests using state data from testnet and mainnet to validate post-upgrade state integrity

  • Introducing a "differential test" where billions of mainnet transactions were replayed on the new system in the test environments to check for any discrepancies

  • Testing the supported SDKs and engaging with partners in previewnet and testnet environments, ensuring a robust, reliable, and consistent release and minimizing impacts to existing users

Despite these thorough tests, and while aiming for full backward compatibility, there may be subtle differences, such as the timing of transaction failures (some transactions that failed immediately on ingest will now fail after consensus). These differences, however, will not affect the final disposition of valid transactions, which will continue to benefit from the fast, fair, and aBFT secure consensus operations of the Hedera network.

Moving Forward

For developers looking to dive into the new features or contribute to the Hedera ecosystem, the revamped services software offers a more intuitive and accessible codebase for contributions. As Hedera continues to grow, we look forward to more contributions from developers around the world as the ecosystem becomes as developer-friendly and secure as possible.

Stay updated and explore more about advancements happening on Hedera by visiting the blog site and following on Twitter/X. Your contributions and insights are invaluable as we continue to build a cutting-edge, decentralized public network together.

Continue Learning