EVM compatibility has been expanded as part of the recent mainnet upgrade to Zilliqa version 9.2.0, which adds improved interoperability between fungible token contracts on Scilla and EVM and allows EVM to invoke contracts written in Scilla.
A newly published Zilliqa Improvement Proposal (ZIP-21) details this expanded interoperability and outlines how fungible tokens deployed by Scilla smart contracts can now appear as EVM-compatible fungible tokens.
Ethereum Virtual Machine (EVM) is the software platform used to build applications on Ethereum and other protocols that have implemented EVM compatibility.
When Zilliqa implemented EVM compatibility earlier this year, this meant native ZIL could be treated as native ETH, meaning users could store and transact their ZIL using popular EVM wallets such as MetaMask. However, this solution did not allow EVM contracts to call Scilla contracts and vice versa.
The interoperability introduced in Zilliqa mainnet upgrade v9.2.0 implements the first phase of this functionality, containing a mechanism that allows ZRC-2 tokens to appear as ERC-20 tokens to other contracts.
ZRC-2 and ERC-20 refer to the smart contract standards for fungible tokens for Scilla and EVM contracts, respectively.
This means that as of the latest mainnet upgrade, EVM contracts for fungible tokens can now call Scilla contracts, allowing ZRC-2 tokens to be transacted as ERC-20 tokens.
To facilitate this, ZIP-21 specifies two new precompiles, one of which allows EVM to invoke a Scilla contract transition and another which lets EVM read data from a Scilla contract.
Find out more about how fungible token interoperability between Scilla and EVM is implemented in Zilliqa, as well as how this solution handles Scilla events and callbacks in the documentation for ZIP-21.
Code samples will be accessible from the Zilliqa ZRC repository once available.
This improvement to EVM compatibility on Zilliqa is a key step towards the network achieving enhanced interoperability and improving accessibility for multi-chain applications.
Future phases of Scilla-EVM interoperability on Zilliqa will include the ability to call EVM fungible token contracts with Scilla, as well as a solution for interoperability between non-fungible token (NFT) contracts.
To learn more about the new functionality added in Zilliqa mainnet upgrade v9.2.0, check out the release notes or read our blog post on the update.