EOSIO 2.2 Release Candidate: Feature Summary
EOSIO platform releases take into account the collective feedback and input of the EOSIO community.
Updated 5/10/2021: This release has been updated to a stable EOSIO Version 2.1 with security, stability, and miscellaneous fixes. Additional information and release notes are available on GitHub.
EOSIO is an evolving platform built to facilitate the deployment and operation of reliable, secure, and scalable blockchains.
We continue to address developer and industry needs while enhancing the overall capabilities of EOSIO, to make it faster, more configurable, and accessible to a wider range of developers as well as public and private institutions. EOSIO will persist as a blockchain protocol suitable for the growth of both open networks and private enterprises.
The product development effort for the EOSIO 2.1 Release Candidate (RC) encompasses a collective effort as we incorporate feedback and input from the community. These contributions help EOSIO evolve as a highly performant, scalable, and reliable blockchain solution.
The EOSIO 2.1 RC feature set is designed to address several pain points we discovered first-hand while building Voice, a blockchain-based social media application, on top of the EOSIO protocol. These features aim to improve developer ease-of-use, and enhance the capabilities available to private and public blockchain administrators.
While EOSIO has always been innovative and highly performant, this release focuses on making it easier to build large-scale applications on the platform, and to maintain them once they’re deployed. It is a reflection of our commitment to abstract away some of the complexities of blockchain development and make it approachable to a broader audience.
Most of the innovations that make up the EOSIO stack support both public and private blockchain deployments equally well. However, in the EOSIO 2.1 RC we introduce a new compliance feature designed specifically to allow private blockchain system administrators to remove data that has been designated as context free without compromising system functionality.
The EOSIO 2.1 RC also includes additional features that optimize blockchain data storage, simplify table management, and provide clustering options for system administrators. In addition, it updates functionality for two of our 1.x data export tools in response to community feedback.
The Key Value API provides a more flexible, simplified way for developers to create and search on-chain tables. Developers can also modify the table structure after it has been created, which is currently impossible with multi-index tables.
Rather than having to utilize print statements or string parsing, smart contract developers will be able to process the return value from an action directly. This will streamline the smart contract development process.
RocksDB is now supported as a storage option behind either the DB or Key Value APIs. This gives blockchain system administrators the flexibility to choose between RAM or RocksDB to optimize Nodeos performance for their workloads.
Nodeos now supports clustering for the block producer node, enabling blockchain administrators to implement industry standard high availability or disaster recovery architectures. Three or more nodes may be deployed as a single logical producer. If the primary node goes down, a system properly configured to leverage this solution can attain similar data recovery guarantees to that of industry leading database and cloud services, with minimal service disruption.
While this feature increases resiliency for block production on public networks, it also provides particular value for private chains running with a single logical producer. Single-producer chains can use it to provide immediate finality with tools to mitigate the risk of a single point of failure.
Immutability is one of the core tenets of blockchain infrastructure, but in some circumstances it may be unnecessary, or even counterproductive, to store all the data involved in each transaction indefinitely.
From inception, EOSIO has supported the concept of Context-Free Data, or data that may be removed without affecting the integrity of the chain. This release enables administrators to designate specific data as Context-Free and subsequently remove, or prune, that data from the blockchain while maintaining system stability.
Once this data has been pruned, full validation is no longer possible, only light validation, which requires implicit trust in the block producers. Due to this factor, the Prune Context-Free Data feature is only suitable for a private blockchain as part of a larger privacy, security, or regulatory compliance solution.
It should be noted that only data that was designated as Context-Free when it was stored can be pruned. In order for the data to be fully removed, pruning would have to be executed on each node in the network. There is no scenario where this feature could intentionally or unintentionally affect data integrity on a public network.
Nodeos now supports integration with Zipkin, an open source distributed tracing system. This will enable system administrators to optimize Nodeos execution for performance-critical applications.
Based on community feedback and user requests, we have updated Fill-pg to support EOSIO 2.1.
It is our goal to build solutions that make it easier for everyone to build on EOSIO, from independent developers and startups, to established enterprises.
We encourage developers to test the additional features in the EOSIO 2.1 release candidate, and provide us with feedback. If you would like to offer feedback on the release candidate of EOSIO 2.1 and work more closely with our team to improve EOSIO for developers, you can contact our developer relations team at developers[at]block.one.
Important: All material is provided subject to this important notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions, relating to our software, publications, trademarks, third-party resources and forward-looking statements. By accessing any of our material, you accept and agree to the terms of the notice.