Compatibility with Trusted Tools
Trusted tools and protocols like Uniswap, Opensea, Metamask, Chainlink Oracle, Layerzero, Remix, and Hardhat will be able to function on Flow out of the box, while developers will still be able to write Cadence smart contracts to extend and build on the Solidity smart contracts with full composability.
to build out leading platforms, tooling, middleware, and utilities to ensure best-in-class experiences for those who want to deliver mainstream web3 applications. Find more about current ecosystem service providers and open opportunities here.
Freedom for Developers
The EVM on Flow upgrade allows dApps that consist mostly of EVM-compatible code to tap into the powerful features of Flow and build beyond the programming limitations of Solidity. Developers can access cross-chain infrastructure and applications to create more powerful dApps.
that solves the common scalability & security issues with a protocol-native data availability stack, proposer builder separation, separation of compute, consensus & settlement – all without sharding. This provides superior security, developer experience, improves composability and interoperability of the entire ecosystem.
How it Works
EVM on Flow will allow for developers to easily compose the above features and capabilities of Cadence on top of existing tooling and smart contracts developed in Solidity for Ethereum and other EVM-compatible networks.
Cadence code can interact with the EVM environment synchronously. This allows Cadence code to compose with EVM code powerfully and easily. More details here
Is made possible by a smart contract protocol which facilitates arbitrary token interchange between VM environments. By introducing a new EVM account type, which has a programmable proxy on the Cadence side through which interactions with EVM are mediated, comes the ablility to orchestrate and compose EVM transactions within a Cadence one. Learn more with FLIP #237 Flow VM Bridge
Leverage EVM +
capabilities on Flow EVM
Interact with multiple smart contracts in one atomic interaction
using Flow’s security model to eliminate wallet signing popups, all of which occur within a single atomic transaction. It introduces powerful, native primitives for cross-VM interactions and application development which will drive time-to-finality exchange of tokens between environments.
Your users can continue using EVM-native wallets
and offer them to users who wish to switch to a Flow native wallet. Users who don’t value those features can continue to use the old functionality via their existing wallets. Provided the new features are purely additive, the two cohorts can still interact with each other seamlessly.
Setup and Go
EVM on Flow
Flow natively provides censorship & MEV resistance which is achieved by designating specific validators for building transaction bundles that are separated from the validators proposing blocks. Learn more.
Solidity or Cadence: a resource-oriented paradigm, providing an improved security model and enabling increasingly complex smart contract functionality for developers
Ethereum’s proposed evolution parallels Flow’s existing design: Flow’s Execution Nodes are akin to “Rollups,” Collection Nodes resemble “Data Availability Shards,” and Consensus Nodes correlate to the “Beacon Chain.”
Flow has achieved these improvements in production for the last three years - synthetic Flow benchmarks have achieved ~1k TPS leaving a significant amount of available throughput for applications today.
Flow’s current ~700GB of state space is extensible to the petabyte scale and allows contracts to maintain large amounts of data alongside logic at low gas rates. This has added convenience to developers who can forego off-chain metadata integration.
The Crescendo upgrade
I am a developer
I am a node operator
It will include a migration of execution state. For that reason it is likely to require a longer network outage than usual. More details will be available closer to upgrade time.
I am not (yet) a developer/builder, but I am interested in building on Flow
I am a user of a dapp on Flow
The dapp team should handle everything without a need for an end user to move their assets or sign transactions. But, if you’re not sure, you can reach out to the team behind the dapp and ask them about their plans to upgrade to Cadence 1.0.
Won’t the additional execution load disrupt the network?
It’s important to acknowledge how localized and non-disruptive these changes are to the rest of Flow. We have a single new smart contract to run the EVM runtime environment and a new kind of client (the gateways) that interact with the existing Flow Access API without modification. Integrating the EVM runtime environment into the Flow execution environment and the gateway is a lot of work, but we can leverage a whole lot of existing open source code from the Ethereum community to handle the hardest parts. We can provide full EVM equivalence on Flow without disrupting any existing applications or tools built with Cadence.
Are you sure this is full EVM equivalence and not just compatibility?
Learn how here