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 ImprovementsIn 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 proofingA 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 IntegrationTesting 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 EffortsExpanding 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.
SummaryLisk 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.
Original Blog Post