Ethereum Virtual Machine (EVM) compatibility will be deployed on the Zilliqa mainnet as part of update v9.0.0 on Tuesday, April 25 at 08:00 UTC.
This is the first implementation of EVM compatibility on the Zilliqa network, which will allow users to transfer ZIL using EVM dApps and wallets such as MetaMask.
EVM compatibility also allows developers to experiment with writing and deploying Solidity smart contracts on Zilliqa using tools such as Hardhat and Truffle.
After this first version of EVM compatibility has been implemented, functionality will be expanded in a later mainnet upgrade to include interoperability between Scilla and Solidity standards for fungible tokens, NFTs, and more, opening up even greater opportunities for developers and users.
EVM compatibility is being developed by the blockchain infrastructure team alongside the architecture for Zilliqa 2.0, which will deliver a significant upgrade to the Zilliqa protocol and offer more scalability, efficiency, and flexibility for users and developers.
Find out more about the upcoming changes to the Zilliqa network in our interview with Zilliqa CTO Richard Watts.
Downtime for mainnet upgrades
Network downtime will take place for up to 24 hours from 08:00 UTC on Tuesday, April 25 to facilitate the process of upgrading the network.
During this period, no transactions will be processed by the network. We recommend that mainnet deposit and withdrawal services be temporarily suspended during the network upgrade.
The trading of ZIL and other tokens on centralised exchanges may continue over the upgrade period.
Once the upgrade process is complete, the network will resume processing transactions as normal.
As development on Zilliqa 2.0 progresses, the way mainnet updates are deployed to the blockchain will change.
Currently, the blockchain must be shut down while an update is implemented, which means that the deployment of mainnet updates such as EVM compatibility result in a brief downtime.
This is because the current software is not written with dynamic updates in mind, and it is therefore difficult to upgrade the system whilst it is still running. Therefore, when mainnet updates are released for Zilliqa, the network must be shut down for the release to be deployed, and then the system must start back up again.
Unfortunately, this means the network cannot process transactions during the time between shutting down the old release and starting up the new one.
The duration of the downtime encompasses taking the old system down, restoring persistence to the new release, and running tests before the network is restored.
Downtime due to testnet updates generally only lasts for a few hours, but mainnet downtime for network updates generally lasts around a day due to a greater number of nodes and persistence.
It is important to note there are no lingering adverse effects due to this downtime.
Gas prices may be slightly higher for a short period after the network resumes processing transactions due to the backlog of transactions amassed over the downtime period, but normally returns to standard levels relatively quickly as the backlog is cleared.
Reducing and eliminating downtime for upgrades
The Zilliqa team takes a number of steps to ameliorate this downtime, including compressing persistence for faster restoration, streamlining tests for faster processing, and running drills to minimise human-induced delay.
As these steps are refined and development of Zilliqa 2.0 progresses, users can expect downtime associated with mainnet updates to become steadily shorter going forward, with a view to eliminate downtime entirely.
Zilliqa 2.0 will feature an architecture that allows upgrades to be distributed ahead of time and then executed at a particular block height, similar to other chains that use dynamic updates. This will allow upgrades to happen seamlessly and without any interruption to transaction processing.
As the transition to Zilliqa 2.0 gets underway, upgrade-related downtime will slowly be reduced and eventually eliminated through dynamic updates.
The initial rollout of Zilliqa 2.0 will be focussed on developers and extensive testing, after which the mainnet will switch over to Zilliqa 2.0 once feature parity with the existing network is achieved.