diff --git a/docs/evm/about.md b/docs/evm/about.md index 7dc76b5274..959d16fe13 100644 --- a/docs/evm/about.md +++ b/docs/evm/about.md @@ -1,86 +1,60 @@ --- -title: About FlowEVM +title: About EVM On Flow sidebar_label: About sidebar_position: 1 --- -# About FlowEVM +# About EVM On Flow -FlowEVM is a secure, performant, highly scalable EVM-equivalent L1 which is natively integrated into the Flow -blockchain. It inherits Flow's [decentralization](https://flow.com/decentralization) and its multi-node -distributed consensus and transaction model. Specifically, Flow EVM benefits from Flow's -[horizontally scaled transaction linearization](https://flow.com/core-protocol-vision#scaling-transactions) design -which has solved proposer builder separation, separation of compute, and settlement – all without sharding. +Flow is a secure, performant, highly scalable EVM-equivalent L1. With EVM on Flow all of Flow's native protocol benefits of fast transactions, low costs, and mainstream scalability are available without any code changes. +It inherits Flow's [multi-node distributed consensus](https://flow.com/decentralization) and transaction model. Specifically, EVM on Flow benefits from Flow's [horizontally scaled transaction linearization](https://flow.com/core-protocol-vision#scaling-transactions) design which has solved proposer builder separation, separation of compute, and settlement – all without sharding. ## Seamless Integration for Ethereum Developers -FlowEVM is designed to work out-of-the-box with the Ethereum toolchain or other clients and will run existing Solidity -contracts as-is without any changes. Developers can get their existing applications up and running on day one! With -your core application running you can begin to explore how to leverage Flow's powerful feature set for your application. -To achieve this will require implementing a minimal transaction script in Cadence, Flow's smart contract language, to -integrate Flow features to FlowEVM. This is made possible because EVM transactions are composed and executed within a -Cadence transaction, enabling novel use-cases and patterns for integration. +EVM on Flow is designed to work out-of-the-box with the Ethereum toolchain or other clients, and will run existing Solidity contracts as-is without any code changes. Developers can get their existing applications up and running on day one! With your core application running you can begin to explore how to leverage Flow's powerful feature set for your application. +To achieve this will require implementing a minimal transaction script in Cadence, Flow's smart contract language, to integrate Flow features with EVM. This is made possible because EVM transactions are composed and executed within Cadence transactions, enabling novel use-cases and patterns for integration. -Native EVM transactions continue to be supported when using Metamask and other EVM-compatible clients. +Native EVM transactions continue to be supported when using Metamask and other EVM-compatible clients. ## Best-In-Class UX Account Linking is built on Flow's account abstraction model and enables users to immediately use an app without -wallet authentication. On-chain accounts can be created as needed by the application which custodies their use for an -anonymous user. At some later point these users may choose to link the custodied account to their self-custodial wallet -taking full ownership of the account. FlowEVM apps can also leverage Account Linking to handle creation of EVM accounts -and achieve a similarly smooth onboarding user experience. +wallet authentication. On-chain accounts can be created as needed by the application which custodies their use for an anonymous user. At some later point these users may choose to link the custodied account to their self-custodial wallet taking full ownership of the account. EVM apps on Flow can also leverage Account Linking to handle creation of accounts and achieve a similarly smooth onboarding user experience. ## Instant Cross-VM Token Transfers -FlowEVM and Flow environments both use $FLOW token as the gas currency for transactions, sharing a singular token -supply across both environments. A few lines Cadence can transfer FLOW tokens in the Flow environment to FlowEVM, -or vice versa. Other fungible and non-fungible tokens can also be seamlessly transferred between environments using the -native cross-VM token bridge, taking place instantly in a single atomic transaction +EVM and Cadence environments both use FLOW token as the gas currency for transactions, sharing a singular token +supply across both environments. A few lines Cadence can transfer FLOW tokens in the Cadence environment to EVM, or vice versa. Other fungible and non-fungible tokens can also be seamlessly transferred between environments using the native cross-VM token bridge, taking place instantly in a single atomic transaction ## Scalability, Performance and Low Gas Fees -Flow’s state space is extensible to the petabyte scale and is the reason why Cadence contracts have standardized on -storing application data on-chain. This benefit translates directly to FlowEVM which allowing contracts to maintain a full -working dataset - including metadata - together with contract logic, all at low gas rates. Flow's state scalability sets -the foundations for significant throughput optimization yet to come. +Flow’s state space is extensible to the petabyte scale and is the reason why Cadence contracts have standardized on storing application data on-chain. This benefit translates directly to EVM on Flow allowing contracts to maintain a full working dataset - including metadata - together with contract logic, all at low gas rates. Flow's state scalability sets the foundations for significant throughput optimization yet to come. -Flow's transaction throughput peaked to 2M daily transactions during 2023 sustaining a similar average transaction -volume as Ethereum. Unlike Ethereum, Flow has always operated well under its maximum throughput ceiling which is -presently scalable to 5x more transactions with further performance optimizations to come when parallel execution is -released. +Flow's transaction throughput peaked to 2M daily transactions during 2023 sustaining a similar average transaction volume as Ethereum. Unlike Ethereum, Flow has always operated well under its maximum throughput ceiling which is presently scalable to 5x more transactions with further performance optimizations to come when parallel execution is released. ## MEV Resilience -Since EVM on Flow transactions are composed and executed within a Cadence transaction block production is handled by -Flow’s multi-role architecture. The heterogeneity between node roles ensures that visibility into block proposal, -assembly, asserting block validity and other correctness checks during the block processing cycle expose only the -limited information that a given node type requires to perform its function. These differences in node and consensus -design results in strong economic disincentives for collusion because no individual node has full visibility into the -state of block processing for the chain. FlowEVM's robust MEV resilience is a significant difference from other EVMs -and will help to ensure gas fees are reasonably priced at all times. The impracticality of frontrunning or other attacks -improves the user experience by eliminating failed transactions and invisible fees. +Since EVM on Flow transactions are composed and executed within a Cadence transaction block production is handled by Flow’s multi-role architecture. The heterogeneity between node roles ensures that visibility into block proposal, assembly, asserting block validity and other correctness checks during the block processing cycle expose only the limited information that a given node type requires to perform its function. These differences in node and consensus design results in strong economic disincentives for collusion because no individual node has full visibility into the state of block processing for the chain. This robust MEV resilience is a significant difference from other EVMs and will help to ensure gas fees are reasonably priced at all times. The impracticality of frontrunning or other attacks improves the user experience by eliminating failed transactions and invisible fees. -# Key Advantages +## Key Advantages - **Access New Markets**: Easily tap into Flow's user base and unique IPs without any implementation risk - **Simplified Multi-Chain Experience**: Ideal for applications without a multi-chain approach or those wanting to ensure cross-chain compatibility - **Leverage Flow’s Protocol**: Expand EVM capabilities and transcend EVM limitations using Cadence, which offers a powerful new account model, programmable resources, and hybrid ownership - **No Miner Extractable Value (MEV)**: Leading to a more fair and secure environment for all participants and minimizing the risk of front running transactions - **Enhanced Functionality**: - - Compose assets and functionality using a shared world state and [Cadence contracts](https://cadence-lang.org/). - - Conduct multiple contract interactions atomically. - - Tap in to [Capabilities](https://cadence-lang.org/docs/tutorial/capabilities) for zero-transfer access ([Account Linking](../build/guides/account-linking/index.md)). -- **Gas Fees**: Transactions are extremely low-cost and denominated in FLOW. + - Compose assets and functionality using a shared world state and [Cadence contracts](https://cadence-lang.org/). + - Conduct multiple contract interactions atomically. + - Tap in to [Capabilities](https://cadence-lang.org/docs/tutorial/capabilities) for zero-transfer access ([Account Linking](../build/guides/account-linking/index.md)). + - **Gas Fees**: Transactions are extremely low-cost and denominated in FLOW. see [Fees](./build/fees) -# Learn More and Join the Conversation +## Learn More and Join the Conversation -Users and developers are welcome to chat with us in the FlowEVM [Discord](https://discord.com/channels/613813861610684416/1167476806333513800). +Users and developers are welcome to chat with us in the Flow [Discord](https://discord.com/channels/613813861610684416/1167476806333513800). ## Interested in Partnering or Co-marketing? -Are you interested in launching an EVM project on FlowEVM or partnering? Visit our weekly FlowEVM office hours for -discussions on project development and other opportunities for collaboration. +Are you interested in launching an EVM project on Flow or partnering with us? Visit our weekly Flow office hours for discussions on project development and other opportunities for collaboration. ## Further Reading and Discussions @@ -89,8 +63,7 @@ discussions on project development and other opportunities for collaboration. ## Flow Improvement Proposals (FLIPs) -Those wishing to understand the technical specifics of how FLowEVM is integrated with Flow we recommend reviewing the -following improvement proposals. +Those wishing to understand the technical specifics of how EVM on Flow works we recommend reviewing the following improvement proposals. - Understanding [EVM Support on Flow](https://github.com/onflow/flips/pull/225) - Exploring the [Flow VM Bridge](https://github.com/onflow/flips/pull/233/files/d5bc46c4b13f0b9b168a94f994c77a5a689f6b24..122e938b7acae7e774246b1b66aaf5979ca21444) diff --git a/docs/evm/advanced/vm-bridge.md b/docs/evm/advanced/vm-bridge.md index cc27c83123..db5b4a8240 100644 --- a/docs/evm/advanced/vm-bridge.md +++ b/docs/evm/advanced/vm-bridge.md @@ -6,16 +6,8 @@ sidebar_position: 1 # Cross-VM Bridge -Flow provides the cross-VM bridge which enables Cadence to interact with FlowEVM in order to bridge tokens, fungible and -non-fungible, from one VM environment to the other. Specifically, the cross-VM bridge is contract-based, trustless -protocol enabling the automated bridging of tokens from Cadence into FlowEVM into the corresponding ERC-20 and ERC-721 -token types. In the opposite direction, it supports bridging of arbitrary FlowEVM ERC-20 and ERC-721 tokens into -the corresponding Cadence FT or NFT token types. The cross-VM bridge internalizes the capabilities to deploy new token -contracts in either VM state as needed and resolves access to, and maintains links between, contracts. It additionally -automates account and contract calls to enforce source VM asset burn or lock, and target VM token mint or unlock. +Flow provides the cross-VM bridge which enables Cadence to interact with EVM on Flow in order to bridge tokens, fungible and non-fungible, from one VM environment to the other. Specifically, the cross-VM bridge is contract-based, trustless protocol enabling the automated bridging of tokens from Cadence into FlowEVM into the corresponding ERC-20 and ERC-721 token types. In the opposite direction, it supports bridging of arbitrary EVM ERC-20 and ERC-721 tokens into the corresponding Cadence FT or NFT token types. The cross-VM bridge internalizes the capabilities to deploy new token contracts in either VM state as needed and resolves access to, and maintains links between, contracts. It additionally automates account and contract calls to enforce source VM asset burn or lock, and target VM token mint or unlock. -Developers wishing to use the cross-VM bridge will be required to use a Cadence transaction of contract. Cross-VM bridge -functionality is currently not available natively in EVM. +Developers wishing to use the cross-VM bridge will be required to use a Cadence transaction of contract. Cross-VM bridge functionality is currently not available natively in EVM. -The Flow VM bridge outlines the architecture and implementation of the VM bridge. Read the FLIP -[here](https://github.com/onflow/flips/pull/233). +The Flow VM bridge outlines the architecture and implementation of the VM bridge. Read the FLIP [here](https://github.com/onflow/flips/pull/233). diff --git a/docs/evm/tools/bridges.md b/docs/evm/tools/bridges.md index cc0a142836..7e8e6b2cad 100644 --- a/docs/evm/tools/bridges.md +++ b/docs/evm/tools/bridges.md @@ -9,7 +9,7 @@ sidebar_position: 3 :::info ## Coming Soon -Details on bridges connecting FlowEVM with other networks are currently in the works and will be shared soon. These bridges will facilitate seamless asset transfers and interoperability between FlowEVM and various blockchains, enhancing the utility and reach of Flow's ecosystem. +Details on bridges connecting EVM on Flow with other networks are currently in the works and will be shared soon. These bridges will facilitate seamless asset transfers and interoperability between EVM on Flow and various blockchains, enhancing the utility and reach of Flow's ecosystem. For real-time updates and discussions, please join the [Flow Discord](https://discord.gg/flow) and check the #evm channel. -::: \ No newline at end of file +::: diff --git a/docs/evm/tools/clients/ethers.md b/docs/evm/tools/clients/ethers.md index e14c6b3eb3..b278dcda4a 100644 --- a/docs/evm/tools/clients/ethers.md +++ b/docs/evm/tools/clients/ethers.md @@ -6,15 +6,15 @@ sidebar_position: 1 # ethers.js -:::info +:::info ## Coming Soon -Documentation on using [ethers.js](https://docs.ethers.org/v5/) to interact with smart contracts deployed on the FlowEVM network is currently under development and will be available shortly. +Documentation on using [ethers.js](https://docs.ethers.org/v5/) to interact with smart contracts deployed on Flow network is currently under development and will be available shortly. -ethers.js is a prominent JavaScript library for interacting with EVM-compatible blockchain networks, and its integration with FlowEVM is eagerly anticipated. +ethers.js is a prominent JavaScript library for interacting with EVM-compatible blockchain networks, and its integration with EVM on Flow is eagerly anticipated. -Stay tuned for detailed guides on installing, setting up, and utilizing ethers.js within the FlowEVM environment, including connecting to the network, reading and writing data on the blockchain, and interacting with smart contracts. +Stay tuned for detailed guides on installing, setting up, and utilizing ethers.js within the EVM environment on Flow, including connecting to the network, reading and writing data on the blockchain, and interacting with smart contracts. For the latest updates, please check back soon or join the [Flow Discord](https://discord.gg/flow) and visit the #evm channel. -::: \ No newline at end of file +::: diff --git a/docs/evm/tools/data-indexers.md b/docs/evm/tools/data-indexers.md index 633a2c0c3f..823ed7e979 100644 --- a/docs/evm/tools/data-indexers.md +++ b/docs/evm/tools/data-indexers.md @@ -10,7 +10,7 @@ sidebar_position: 4 ## Coming Soon -Information on Data Indexers for FlowEVM are currently under development and will be available shortly. Stay tuned for updates on tools and services. +Information on Data Indexers for EVM on Flow are currently under development and will be available shortly. Stay tuned for updates on tools and services. For the latest updates, please join the [Flow Discord](https://discord.gg/flow) and check the #evm channel. diff --git a/docs/evm/tools/faucets.md b/docs/evm/tools/faucets.md index 941e332f0d..e3571f37e2 100644 --- a/docs/evm/tools/faucets.md +++ b/docs/evm/tools/faucets.md @@ -1,7 +1,7 @@ --- title: Faucets sidebar_label: Faucets -sidebar_position: 2 +sidebar_position: 1 --- # Faucets @@ -9,14 +9,13 @@ sidebar_position: 2 A faucet is a way to distribute small amounts of a token to users for testing and development purposes. Token faucets are essential for developers to test and deploy smart contracts without using real assets. -## Previewnet +If you would like to run your EVM app on Flow Previewnet or Testnet you must fund it with some FLOW using a faucet or supporting wallet. -The Crescendo Previewnet network, part of the Flow ecosystem, also offers a faucet for developers. Access the Crescendo Previewnet faucet at: [Previewnet Faucet](https://previewnet-faucet.onflow.org/fund-account) +## Flow Faucet -## Testnet (FlowEVM Support Coming Soon) +The Flow Faucet is a fast and reliable network faucet that allows you to create an account on the specified network as well as fund small amounts of test Flow to any Cadence or EVM address on these networks. -FlowEVM supports developers with a testnet faucet, facilitating the testing and development of smart contracts in a risk-free environment. Access the testnet faucet at: [FlowEVM Testnet Faucet](https://testnet-faucet.onflow.org/fund-account) +Access the **Flow Faucet** at the following links: -## Mainnet - -FlowEVM does not have a faucet for mainnet. You can get FLOW token through an exchange or receiving FLOW from a 3rd party or receiving FLOW token as staking rewards. Learn more [here](https://flow.com/use-flow/flow-token). \ No newline at end of file +- [**Previewnet Faucet**](https://previewnet-faucet.onflow.org/fund-account) +- [**Testnet Faucet**](https://testnet-faucet.onflow.org/fund-account) (EVM Support Coming Soon) diff --git a/docs/evm/using.mdx b/docs/evm/using.mdx index 92b77525fa..8406268d21 100644 --- a/docs/evm/using.mdx +++ b/docs/evm/using.mdx @@ -1,17 +1,17 @@ --- -title: Using FlowEVM -sidebar_label: Using FlowEVM +title: Using EVM On Flow +sidebar_label: Using EVM On Flow sidebar_position: 2 --- import BrowserOnly from '@docusaurus/BrowserOnly'; import {AddNetworkButton} from '@site/src/components/addNetworkButton'; -# Using FlowEVM +# Using EVM On Flow ## EVM Wallets -Applications deployed to FlowEVM will work with popular EVM-compatible wallets such as [MetaMask](https://chromewebstore.google.com/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn), all you need to do is add FlowEVM as a custom network. +Applications deployed to EVM on Flow will work with popular EVM-compatible wallets such as [MetaMask](https://chromewebstore.google.com/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn), all you need to do is add the correct [RPC endpoint](./build/networks) as a custom network. ### [MetaMask](https://metamask.io) @@ -21,34 +21,34 @@ Applications deployed to FlowEVM will work with popular EVM-compatible wallets s return ; }} -Manually method: Add FlowEVM as a custom network to MetaMask: +Manually method: Add EVM on Flow as a custom network to MetaMask: 1. Open the MetaMask browser extension 2. Open the network selection dropdown menu by clicking the dropdown button at the top of the extension 3. Click the **`Add network`** button 4. Click **`Add a network manually`** -5. In the **`Add a network manually`** dialog that appears, enter the following information for FlowEVM mainnet: - +5. In the **`Add a network manually`** dialog that appears, enter the following information for Flow Previewnet: + | Name | Value | |-----------------|-----------------------------------------| | Network Name | Flow Previewnet | -| Description | The public RPC url for FlowEVM Preview | +| Description | The public RPC url for Flow Previewnet | | RPC Endpoint | https://previewnet.evm.nodes.onflow.org | | Chain ID | 646 | | Currency Symbol | FLOW | | Block Explorer | https://previewnet.flowdiver.io | -6. Tap the Save button to save FlowEVM as a network. +6. Tap the Save button to save Flow Previewnet as a network. -You should now be able to connect to the FlowEVM by selecting it from the network selection dropdown menu +You should now be able to connect to the EVM on Flow by selecting it from the network selection dropdown menu ## Flow Native Wallets ### (Coming Soon) [Flow Wallet](https://wallet.flow.com) -Flow Wallet is available on [Android](https://play.google.com/store/apps/details?id=io.outblock.lilico&hl=en_US&gl=US) and [iOS](https://apps.apple.com/ca/app/flow-core/id1644169603) apps, with desktop support using the Flow Wallet [Chrome extension](https://chromewebstore.google.com/detail/flow-reference-wallet/hpclkefagolihohboafpheddmmgdffjm). In addition to being able to transact in both FlowEVM and Cadence environments, Flow Wallet will also allow you to view and move assets between EVM and Cadence, making it possible to manage all your assets in one place. +Flow Wallet is available on [Android](https://play.google.com/store/apps/details?id=io.outblock.lilico&hl=en_US&gl=US) and [iOS](https://apps.apple.com/ca/app/flow-core/id1644169603) apps, with desktop support using the Flow Wallet [Chrome extension](https://chromewebstore.google.com/detail/flow-reference-wallet/hpclkefagolihohboafpheddmmgdffjm). In addition to being able to transact in both EVM and Cadence environments, Flow Wallet will also allow you to view and move assets between EVM and Cadence, making it possible to manage all your assets in one place. To use Flow Wallet Chrome extension: 1. Open the Flow Wallet browser extension and create your account. -2. Connect to an app using Flow Wallet. \ No newline at end of file +2. Connect to an app using Flow Wallet.