IOTA: Lead Developer Shares Key Update on IOTAcore Advancements Ahead of the IOTA 2.0 launch
The IOTA team decided to rewrite the code of IOTACore after facing time-consuming debugging processes and bugs linked to legacy code.
The IOTACore team adopts a new code structure resembling a living organism, with interconnected blocks acting like “cells” that adapt their state by observing their environment.
Over the last two months, the IOTA development team has focused on developments for IOTAcore, which is currently their major priority over the GoShimmer prototype.
The decision to rewrite the components of IOTACore from scratch during the mainnet transition was due to the time-consuming debugging process. Each bug took several days to fix, and having the entire team focus on the same bugs in the test environment was inefficient.
With the identified bugs linked to legacy code scheduled for a rewrite, IOTACore decided to stop debugging and proceed with a complete rewrite. This approach enabled the team to work simultaneously and avoid further delays by waiting for bugs to reappear in the testnet.
By rewriting the code from scratch, the IOTACore team “re-examined and checked” every single line of code. Besides, they also identified parts of algorithms for “optional optimization” which would be available in future updates.
However, rewriting the entire code comes with its own set of complexities. IOTA lead developer Hans Moog noted that in the current situation, it would take a significant amount of time to find and fix bugs in the code. Thus, if they manage to write code without bugs in the present, it would be beneficial to address the root issues in a way that makes the software easier to maintain and comprehend in the long run.
Hangs Moog explains the need for building a more efficient and sustainable approach to software development, focusing on improving the overall quality and maintainability of their codebase.
The new Code Structure for IOTACore
Hans Moog said that the IOTACore code structure is more like a living organism, where blocks resemble a network of interconnected “cells” that automatically adapt their state or metadata by observing their surroundings. This enables information to spread through the references in the tangle, and each node merely observes these cells to form its view and establish a perception of consensus.
So, it’s finally time for part 1 of the promised update, but before I talk about the actual topic, I want to take a little detour and recall why we started to work on iota-core without completing the goshimmer prototype.
The reason for this decision, was the fact that debugging…
— Hans Moog (@hus_qy) July 27, 2023
Lead developer Hans Moog imagines a new way of organizing and designing software, using the analogy of a living organism with interconnected “cells” (blocks) that observe and react to their environment to propagate information across the system. They are exploring the idea of putting the logic inside the blocks themselves instead of outside, which would make the software easier to maintain and understand.
The IOTACore team has been working on a software framework that allows them to express data structures and logic as a combination of building blocks. They recently merged this framework and the first component using these new concepts into their codebase, and they are pleased with the results.
This new approach seems to address issues related to state and logic, making them the same and inspectable. It also appears to be relatively easy to understand and reason about, especially when dealing with multiple threads.
Importantly, this new approach is fully compatible with their existing code, allowing them to test and validate the concepts before applying them to other parts of the software, said Hans Moog.
Filed under: Bitcoin - @ July 28, 2023 11:28 am