Network Upgrade on Cronos Testnet v0.7.0
With fantastic support from our community, the block height on Cronos mainnet has reached over 2.1 million and there have been more than 25…
With fantastic support from our community, the block height on Cronos mainnet has reached over 2.1 million and there have been more than 25 million transactions broadcasted to the network.
To enhance the ecosystem, we have been working on upgrades to the Cronos Testnet to introduce a number of new functionalities and make the environment more robust in the past months.
The Cronos core development team has been building and testing the latest Cronos Testnet binaries for v0.7.0, including v0.7.0-rc0 to v0.7.0-rc3. These 0.7.0 series binaries include several significant upgrades, multiple bug fixes, new features and significant performance improvements.
In this blog post, we would like to highlight the major exciting updates.
To install a Cronos Testnet note, please refer to the documentation.
Introduction of Feemarket
Currently, on the mainnet, transaction fees are calculated with a fixed formula of gas consumed by the transaction times 0.000001 CRO. Besides, the way that Cosmos SDK implements transaction fees have some limitations, such as validators may use a different value, which can cause transaction spam with zero fees, and other limitations for integration for web tools, as the base value depends on the node-local setting.
With V0.7.0-rc0, the feemarket module introduced a dynamic fee structure. A common base fee is calculated dynamically at each block for the next block, depending on network utilization, and enforced in the whole network.
The feemarket module has been designed to support Ethereum’s EIP-1559 transaction format in order to make Cronos integration simpler for wallets and decentralized applications. The module’s formula to calculate the base fee at each block is also similar to the formula used by EIP-1559 (although the formula uses different parameters). This means that transaction fees will increase when the network is congested, and they will decrease when the network has spare capacity.
In contrast with EIP-1559, the feemarket module implemented on Cronos Testnet V0.7.0-rc0 does not burn any of the base fee in CRO. The base fee and priority fee continue to be collected by validators.
Refactoring of the EVM’s StateDB Implementation
Along with the Ethermint update to v0.10.0-alpha1-cronos-2, the development team has implemented a refactoring of the EVM’s StateDB, with the aim of significantly improving the performance of contract execution.
This new implementation greatly increases the speed of execution of message calls and of accessing deep context stacks. Execution of message calls is up to 300 times faster than before. Additionally, the speed of emitting logs has been doubled.
This improvement allows a larger volume of transactions to be processed within each block to increase the overall efficiency and scalability.
Preparation for Gravity Bridge Support
The open-source Gravity Bridge project aims to create secure, decentralized connections between Cosmos chains and Ethereum chains. It is designed to run on the Cosmos Hub to allow fungible asset transfer between the two ecosystems simply and efficiently.
For example, Gravity Bridge will enable the transfer of ERC20 assets issued on Ethereum to a Cosmos-based chain and back to Ethereum, which will greatly enhance the interoperability of Cronos SDK technology.
The binaries of v0.7.0 include changes that are required for the upcoming implementation of a public Gravity Bridge testnet on Cronos.
Other Improvements and Fixes
In addition to the major updates, each version from rc0 to rc3 also contains multiple bug fixes and significant performance improvements.
A fix has been implemented in Ethermint to fix a WebSocket bug and add WebSocket integration tests and subscription test cases in rc3 binary. This change meets the development needs of the community, given that previously there were no integration tests available for the WebSocket RPC endpoint.
Another fix addresses frequent reports in the past weeks that MetaMask kept failing to send transactions in the feemarket (or EIP-1559 compatible) format on the Cronos testnet. The root cause of this issue was that MetaMask does not add any buffer and use the base fee specified in the block. The past temporary solution was to increase the estimation by a small buffer value. From this testnet version, the team has built a buffer in eth_gasPrice response so that developers no need to implement manual workarounds to increase the base fee value of transactions.
The new binaries also include updates, fixes and improvements related to Ethermint/Cosmos-SDK dependencies. The details about the updates are covered on Cronos binaries release page if you are interested in finding out more.
Cronos Chain News
You should definitely subscribe to Cronos Twitter and the Crypto.org Chain & Cronos Announcements channel to get first-hand news about the Cronos chain if you have not yet had a chance to do so.
Please subscribe to our newsletters as well in order to keep track of major releases We highly recommend that all Cronos validators subscribe to the newsletters, as this is one of the easiest ways to stay up-to-date with the chain’s critical updates and latest changes.
Cronos Mainnet Newsletter: Covers the highlights and updates of the Cronos mainnet Chain
Cronos Testnet Newsletter: Covers the highlights and updates of the Cronos Testnet Chain
Cronos Newsletter: Covers general updates and future plans on the Cronos Chain
What’s Next?
Going forward, we will continue to optimize performance, functionalities and features on the Cronos Testnet, that will make their way to Cronos Mainnet and our community in the coming months, in line with the Cronos 2022 roadmap.
If you have further feedback and questions, you are always welcome to drop us an email or chain@crypto.org or find us on Discord.
The Cronos & Crypto.org Chain Team