Lisk 0.9.0 — Memory and Logging Improvements, Redis Implementation and Block Processing Refactoring
Today we have released Lisk Core 0.9.0 to the Lisk main network. From a high level, this release brings many performance improvements, including the initial implementation of API caching, revisions to the code base and testing methodology changes.
Memory Optimizations and Logging Improvements
In this release, management of logs has been enhanced, with console logging disabled by default. Following those enhancements, the memory footprint has been improved by reducing the amount of duplicate libraries loaded per module. Finally, timestamp related activities are now more flexible, directly improving nearly all aspects of Blockchain interaction and performance.
Caching and future proofing
A commonly requested feature for Lisk core was to implement Redis to provide API caching functionality. API caching is the process of storing responses that are frequently requested so they do not have to be regenerated. This should result in commonly run queries returning much quicker. The usage of this cache will be extended in the future as to enable multiple nodes to share the same state and provide load balancing to multiple NodeJS processes.
Jenkins, Continuous Integration
Testing is valuable to ensure the code always performs the same actions the same way. In the past, Travis-CI was used to perform our Continuous Integration testing. However, the rate of development has greatly exceeded the capacity and performance Travis-CI offers, and therefore the CI testing was moved to a more robust Jenkins-CI deployment. With Jenkins-CI, the full test suite for Lisk Core runs in just over 20 minutes, allowing Lisk Core to be tested faster than ever.
Refactoring Efforts
Expanding on the efforts of previous releases, Lisk Core 0.9.0 offers some significant refactoring work. The primary focus of this refactoring work was on Blocks Processing, which went from a single monolithic module, to being broken into five submodules (api, chain, process, utils, verify). These submodules improve both code quality and readability as each submodule is responsible for appropriate actions.
Summary
Lisk 0.9.0 provides the bridge for 1.0.0 by improving code quality and readability, management of logs, implementing Redis and providing a solid foundation for continuous integration. The Lisk Foundation and the Lightcurve team are proud to bring this release out for the public to use. Special thanks to Ruben Callewaert (5an1ty) for his contributions with Lisk Docker. A complete list of changes can be seen in the release log on GitHub. If you have any questions, feel free to reach out to us.
If you enjoyed reading this, please log in and click “Recommend” below.
This will help to share the story with others.
Congratulations @malikbashirahmed! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!