EOSIO Version 1.6.0: Significant Increase in Performance, New Tools in CDT, and a Thank You to Community Contributors
As a contributor to the development and enhancement of the EOSIO software, we are pleased to confirm stable releases for EOSIO and EOSIO.CDT. You can find more detail about EOSIO V1.6.0 and EOSIO.CDT V1.5.0 in their respective GitHub repositories. Documentation, as always, is updated on the EOSIO Developer Portal.
In order to make our contribution, we are actively engaged in how businesses are building applications on the EOSIO software and make proposals to improve the developer experience with EOSIO.
Highlights in EOSIO V1.6.0
Significant Performance Improvements
In line with the ongoing ambition to improve the performance of EOSIO, keeping it among the fastest protocols on the market, a large portion of this release has contributed to substantial performance increases for applications of the EOSIO software. Specifically, these updates should increase the efficiency of the peer-to-peer networking layer and real-time transaction throughput which would ultimately improve overall transaction speed.
“Our own internal benchmark tests show upwards of a 35% increase in likely transaction speed when using token-transfers-per-second as our base case.”
This benchmark represents testing the EOSIO software on a private network. We are projecting noticeable improvements to sustainable transactions per second, reduced CPU costs, and lower latency on all EOSIO based blockchains.
NOTICE: State History Plugin (Fix Updated) (#6496)
In EOSIO V1.5.0, an alpha version of the State History Plugin should allow real-time/streaming access to data from a blockchain. Akin to efforts with Demux, the State History Plugin is intended to allow for a more convenient way to get data through more web-scalable RPC frameworks. Overall this has become the basis for many scalability improvements in building on EOSIO. Throughout the alpha period we have been working to improve the plugin and engage with the rest of the community using it in their development workflow on EOSIO.
Please see the issue in GitHub linked above for more specific technical details of the implementation and recent updates made. In summary, serialization for permission_object failed when both it and its parent were deleted. We anticipate this issue may affect any EOSIO-based blockchains, and applications may need to be restored from a snapshot made prior to an affected block to continue.
Highlights in EOSIO.CDT V1.5.0
Enhanced Tooling for Smart Contract Development
In EOSIO V1.3.0, we announced the EOSIO Contract Development Toolkit (EOSIO.CDT) — a toolkit which is intended to ensure more streamlined and efficient development on EOSIO when compiling smart contracts and generating ABI files. EOSIO.CDT is designed to provide added support for Gnu & C++ 11 style and should create a more reliant way of declaring your smart contract structure and associated data structures when building an application.
New tooling has been created in the latest release, V1.5.0, aimed at enhancing the simplicity of creating, developing, and testing EOSIO smart contract development. A new tool, eosio-init, was introduced in (#317) that generates a template project for smart contract development. It creates a new binary within EOSIO that builds a basic structure for you to more easily get started with smart contract development.
Community Developer Support
In addition to our growing team at Block.one we would like to send special thanks to a few community contributors who have submitted patches for this release. We’re grateful for your contributions and commitment to the growth of the EOSIO software.
A brief reminder that new versions of EOSIO and EOSIO.CDT will be marked as ‘Release Candidates’ (-rc) when ready for first compiled release to allow for more thorough testing and documentation. After a few cycles of feedback and once documentation is completed, the release will be promoted to ‘stable’. In the case of V1.6.0-rc1, which was tagged last month, we have named it V1.6.0 and merged into master on the GitHub repository.
Benchmark Performance Testing
The automation team at Block.one is focused on helping to develop more consistent replicable benchmark tests that can be shared with the community to project performance increases of the software with each release. Our current benchmarks are projected as a percentage improvement above the latest prior stable version of the EOSIO protocol (V1.5.3). Stay tuned for more updates as we are able to share more about our benchmark and testing process to chart performance of the EOSIO software.
If you are interested in providing feedback and working more closely with our team to improve the EOSIO software for developers, you can send our developer relations team an email at firstname.lastname@example.org.
You can also stay up to date on future updates by subscribing to our mailing list on the EOSIO Developer Portal. We are excited to be continually improving the usability of the software for EOSIO developers as we continue laying a foundation for the mass adoption of blockchain technology.
Block.one makes its contribution on a voluntary basis as a member of the EOSIO community and is not responsible for ensuring the overall performance of the software or any applications related thereto. We make no representation, warranty, guarantee or undertaking in respect of the releases described herein and the related GitHub release or the EOSIO software, whether expressed or implied, and disclaim all liability that may arise from any use of the software for any purpose.