Skip to content

SEO Oprimize Tutorials page #1417

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Aug 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,7 @@ For a complete reference implementation, check out the [FCL + RainbowKit + wagmi
[create an issue]: https://github.com/onflow/docs/issues/new/choose
[Cadence]: https://cadence-lang.org
[Solidity]: https://soliditylang.org/
[native VRF]: ../../tutorials/native-vrf/vrf-in-solidity.md
[native VRF]: ../../blockchain-development-tutorials/native-vrf/vrf-in-solidity.md
[structure and call EVM transactions]: ./batched-evm-transactions.md
[FLIP 316]: https://github.com/onflow/flips/pull/317
[Flow Client Library (FCL)]: ../../tools/clients/fcl-js
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebar_position: 1
title: Tutorials
description: Learn cutting edge techniques to take advantage of the power of Flow with EVM and Cadence.
title: Flow Blockchain Development Tutorials
description: Blockchain development tutorials to take advantage of the power of Flow with EVM and Cadence.
keywords:
- tutorials
- guides
Expand Down Expand Up @@ -42,20 +42,23 @@ keywords:
- Flow AI assistance
---

# Blockchain Development Tutorials

Flow Cadence and Flow EVM are two VMs running on the Flow blockchain. A few months after the release of the Crescendo upgrade, we're seeing more apps that aren't Cadence apps -OR- EVM apps, they're both! Cadence unlocks superpowers such as vast computation and storage, native VRF, a much safer and more secure language for handling digital ownership, and more. Flow EVM unlocks the power of the Ethereum ecosystem, allowing you to bring in traditional tools, assets, and liquidity.

For this grand future, we'll need a new suite of tutorials, guides, and resources to help you build with the best of both worlds. This section is dedicated to those tutorials.
For this grand future, we'll need a new suite of blockchain development tutorials, guides, and resources to help you build with the best of both worlds. This section is dedicated to those tutorials.

## Flow Actions
## [Flow Actions]

Learn how to build composable DeFi applications using the Flow Actions framework. This framework provides a "LEGO" system of reusable components that enable developers to create sophisticated DeFi workflows through atomic composition.

- [Introduction to Flow Actions] - Learn about Flow Actions, a suite of standardized Cadence interfaces that enable developers to compose complex DeFi workflows using small, reusable components
- [Flow Actions Transactions] - Learn how to create transactions that can chain multiple DeFi operations atomically
- [Connectors] - Understand how connectors bridge standardized Flow Actions interfaces with different DeFi protocols
- [Basic Combinations] - Learn how to combine Flow Actions to create new workflows
- [Scheduled Callbacks Introduction] - Learn how to implement scheduled callbacks for time-based smart contract execution on Flow

## AI Plus Flow
## [Use AI to Build on the Flow Blockchain]

Learn how to leverage AI tools to enhance your Flow development experience. These tutorials show you how to integrate various AI assistants with Flow development to boost productivity and code quality.

Expand All @@ -67,20 +70,14 @@ Learn how to leverage AI tools to enhance your Flow development experience. Thes
- [Flow Data Sources] - Learn about this comprehensive resource and how to integrate it with various AI platforms
- [Build AI Agents with AgentKit] - Learn how to create AI agents that can interact with Flow using AgentKit

## Backend Usage

Learn some tips and tutorials for interacting with the Flow blockchain in a backend application.

- [Gas Free EVM Endpoint] - Learn how to set up a gas free EVM endpoint for your backend, all transactions sent through this endpoint will not be charged for gas fees from the transaction sender's account.

## Token Launch
## [Token Launch]

Learn how to launch your own token on Flow using Cadence and EVM. This guide covers the process of registering and deploying tokens that can be used across both virtual machines.

- [Register Your ERC20 Token] - Learn how to register your ERC20 token on Flow EVM based on Github Pull Request process so it appears in Flow standard Token List which is used by Flow Wallet, MetaMask, and other ecosystem apps.
- [Register Your Assets in Cadence] - Learn how to register your Fungible Token or Non-Fungible Token on Flow through Cadence transaction so it appears in Flow Wallet, IncrementFi, and other ecosystem apps.

## Cross-VM Applications
## [Cross-VM Applications]

Learn how to build applications that interact with both Cadence and Flow EVM. These tutorials cover everything from basic integration to advanced features like transaction batching and token bridging.

Expand All @@ -90,41 +87,61 @@ Learn how to build applications that interact with both Cadence and Flow EVM. Th
- [Batched EVM Transactions] - Discover how to batch multiple EVM transactions into a single Cadence transaction
- [Cross-VM Bridge] - Explore how to bridge fungible and non-fungible tokens between Cadence and EVM environments

## Native VRF
## [Native VRF (Built-in Randomness) Tutorials]

Learn how to leverage Flow's native VRF capabilities in both Cadence and Solidity smart contracts. These tutorials demonstrate how to implement secure randomness without relying on external oracles.

- [Secure Randomness with Commit-Reveal in Cadence] - Learn how to implement secure randomness in Cadence using Flow's commit-reveal scheme
- [VRF (Randomness) in Solidity] - Learn how to use Flow's native VRF capabilities in Solidity.
- [Deploy a Solidity Contract Using Cadence] - Discover how to deploy and interact with Solidity contracts on Flow EVM using Cadence

## FlowtoBooth
## [Backend Usage]

Learn some tips and tutorials for interacting with the Flow blockchain in a backend application.

- [Gas Free EVM Endpoint] - Learn how to set up a gas free EVM endpoint for your backend, all transactions sent through this endpoint will not be charged for gas fees from the transaction sender's account.

## [FlowtoBooth]

Explore Flow's unique capabilities through fun benchmark applications that showcase what's possible with Flow's efficient gas pricing. These tutorials demonstrate practical applications of Flow's advanced features.

- [Build a Fully-Onchain Image Gallery] - Create a fully onchain image gallery that demonstrates Flow's efficient storage capabilities


### Building in Web3 has never been easier

Flow will continue to provide quality walkthroughs and tutorials to provide developers all of the tools needed to build the next generation of web3 apps on a fast blockchain, with built in randomness, gasless transactions, and AI integration.


<!-- Reference-style links, will not render on page. -->
[Flow Actions]: https://developers.flow.com/tutorials/defi
[Introduction to Flow Actions]: ./defi/intro-to-flow-actions.md
[Flow Actions Transactions]: https://developers.flow.com/tutorials/defi/flow-actions-transaction
[Connectors]: ./defi/connectors.md
[Basic Combinations]: ./defi/basic-combinations.md
[Scheduled Callbacks Introduction]: ./defi/scheduled-callbacks-introduction.md
[Use AI to Build on the Flow Blockchain]: https://developers.flow.com/tutorials/use-AI-to-build-on-flow
[Use Flow Knowledge Base in Cursor]: use-AI-to-build-on-flow/cursor/index.md
[Use Flow Knowledge Base in ChatGPT]: use-AI-to-build-on-flow/chatgpt/index.md
[Claude Code for Flow Development]: use-AI-to-build-on-flow/claude-code.md
[Cadence Rules]: use-AI-to-build-on-flow/cadence-rules.md
[Flow MCP]: use-AI-to-build-on-flow/mcp/index.md
[Flow Data Sources]: use-AI-to-build-on-flow/flow-data-sources.md
[Build AI Agents with AgentKit]: use-AI-to-build-on-flow/agentkit-flow-guide.md
[Cross-VM Applications]: https://developers.flow.com/tutorials/cross-vm-apps
[Introduction to Cross-VM Applications]: cross-vm-apps/introduction.md
[Interacting with COAs]: cross-vm-apps/interacting-with-coa.md
[Batched EVM Transactions]: cross-vm-apps/batched-evm-transactions.md
[Cross-VM Bridge]: cross-vm-apps/vm-bridge.md
[FlowtoBooth]: https://developers.flow.com/tutorials/flowtobooth
[Build a Fully-Onchain Image Gallery]: flowtobooth/image-gallery.md
[Native VRF (Built-in Randomness) Tutorials]: https://developers.flow.com/tutorials/native-vrf
[Secure Randomness with Commit-Reveal in Cadence]: native-vrf/commit-reveal-cadence.md
[Deploy a Solidity Contract Using Cadence]: native-vrf/deploy-solidity-contract.md
[VRF (Randomness) in Solidity]: native-vrf/vrf-in-solidity.md
[Add Flow Cadence to Your wagmi App]: ./cross-vm-apps/add-to-wagmi.md
[Token Launch]: https://developers.flow.com/tutorials/token-launch
[Register Your Assets in Cadence]: ./token-launch/register-cadence-assets.md
[Register Your ERC20 Token]: ./token-launch/register-erc20-token.md
[Backend Usage]: https://developers.flow.com/tutorials/gasless-transactions
[Gas Free EVM Endpoint]: ./gasless-transactions/gas-free-evm-endpoint.md
4 changes: 2 additions & 2 deletions docs/build/core-contracts/15-bridge.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ assets are safely bridged between the Cadence and EVM Flow Environments.

There are many important contracts deployed to the bridge account.
You should refer to [the bridge repo](https://github.com/onflow/flow-evm-bridge)
and [the bridge guides](../../tutorials/cross-vm-apps/vm-bridge.md)
and [the bridge guides](../../blockchain-development-tutorials/cross-vm-apps/vm-bridge.md)
for more detailed information about the bridge and tutorials for how to use the bridge properly.

Here is a list of each Cadence contract used for the bridge:
Expand Down Expand Up @@ -73,7 +73,7 @@ Here are their addresses:
| `FlowEVMBridgedERC20Deployer.sol` | [`0x4d45CaD104A71D19991DE3489ddC5C7B284cf263`](https://evm-testnet.flowscan.io/address/0x4d45CaD104A71D19991DE3489ddC5C7B284cf263) | [`0x49631Eac7e67c417D036a4d114AD9359c93491e7`](https://evm.flowscan.io/address/0x49631Eac7e67c417D036a4d114AD9359c93491e7) |
| `FlowEVMBridgedERC721Deployer.sol` | [`0x1B852d242F9c4C4E9Bb91115276f659D1D1f7c56`](https://evm-testnet.flowscan.io/address/0x1B852d242F9c4C4E9Bb91115276f659D1D1f7c56) | [`0xe7c2B80a9de81340AE375B3a53940E9aeEAd79Df`](https://evm.flowscan.io/address/0xe7c2B80a9de81340AE375B3a53940E9aeEAd79Df) |

And below are the bridge escrow's EVM addresses. These addresses are [`CadenceOwnedAccount`s (COA)](https://developers.flow.com/tutorials/cross-vm-apps/interacting-with-coa#coa-interface) and they are stored stored in the same Flow account as you'll find the Cadence contracts (see above).
And below are the bridge escrow's EVM addresses. These addresses are [`CadenceOwnedAccount`s (COA)](https://developers.flow.com/blockchain-development-tutorials/cross-vm-apps/interacting-with-coa#coa-interface) and they are stored stored in the same Flow account as you'll find the Cadence contracts (see above).

| Network | Address |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------- |
Expand Down
4 changes: 2 additions & 2 deletions docs/build/flow.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,11 +158,11 @@ The [FLOW] (or $FLOW) token is the native currency for the Flow network. Develop
[Guide for Solidity Developers]: https://cadence-lang.org/docs/solidity-to-cadence
[account abstraction]: https://flow.com/account-abstraction
[bridge]: ../ecosystem/bridges.md
[cross-vm apps]: ../tutorials/cross-vm-apps/index.md
[cross-vm apps]: ../blockchain-development-tutorials/cross-vm-apps/index.md
[Getting Started]: ./getting-started/contract-interaction.md
[core contracts]: ./core-contracts/index.md
[FLOW]: ./core-contracts/03-flow-token.md
[Flow Technical Primer]: https://www.flow.com/primer
[Three technical whitepapers]: https://www.flow.com/technical-paper
[Flow Token Economics]: https://www.flow.com/flow-token-economics
[VRF]: ../tutorials/native-vrf/vrf-in-solidity.md
[VRF]: ../blockchain-development-tutorials/native-vrf/vrf-in-solidity.md
2 changes: 1 addition & 1 deletion docs/build/guides/fungible-token.md
Original file line number Diff line number Diff line change
Expand Up @@ -1131,4 +1131,4 @@ The transfer transaction also has a [generic version](https://github.com/onflow/
- [View a repo of this example code](https://github.com/chasefleming/FooToken)
- [Review an `ExampleToken` contract implementing all of the remaining FungibleToken interface](https://github.com/onflow/flow-ft/blob/master/contracts/ExampleToken.cdc)
- [View the Flow Token Standard](https://github.com/onflow/flow-ft/blob/master/contracts/FungibleToken.cdc)
- Learn about how you can [bridge your FTs to Flow-EVM](../../tutorials/cross-vm-apps/vm-bridge.md#cross-vm-bridge) and how you can build your FT project [to be compatible with the Flow VM bridge](../../tutorials/cross-vm-apps/vm-bridge.md#prep-your-assets-for-bridging).
- Learn about how you can [bridge your FTs to Flow-EVM](../../blockchain-development-tutorials/cross-vm-apps/vm-bridge.md#cross-vm-bridge) and how you can build your FT project [to be compatible with the Flow VM bridge](../../blockchain-development-tutorials/cross-vm-apps/vm-bridge.md#prep-your-assets-for-bridging).
4 changes: 2 additions & 2 deletions docs/build/guides/nft.md
Original file line number Diff line number Diff line change
Expand Up @@ -626,7 +626,7 @@ their solidity smart contracts as an easier on-ramp to building on Flow.
The [Cross-VM Bridge](https://www.github.com/onflow/flow-evm-bridge) enables the movement of
fungible and non-fungible tokens between Flow-Cadence & Flow-EVM.

Learn about how you can [bridge your NFTs to Flow-EVM](../../tutorials/cross-vm-apps/vm-bridge.md#cross-vm-bridge) and how you can build your NFT project [to be compatible with the Flow VM bridge](../../tutorials/cross-vm-apps/vm-bridge.md#prep-your-assets-for-bridging).
Learn about how you can [bridge your NFTs to Flow-EVM](../../blockchain-development-tutorials/cross-vm-apps/vm-bridge.md#cross-vm-bridge) and how you can build your NFT project [to be compatible with the Flow VM bridge](../../blockchain-development-tutorials/cross-vm-apps/vm-bridge.md#prep-your-assets-for-bridging).

## Deploying the Contract

Expand Down Expand Up @@ -936,5 +936,5 @@ Congrats, you did it! You're now ready to launch the next fun NFT project on Flo
- Check out the [`Burner` contract](../core-contracts/14-burner.md), which is the standard
that all projects should use for handling the destruction of any resource.
- For a deeper dive into `MetadataViews`, consult the [introduction guide](../advanced-concepts/metadata-views.md) or [the FLIP that introduced this feature](https://github.com/onflow/flips/blob/main/application/20210916-nft-metadata.md).
- Learn about how you can [bridge your NFTs to Flow-EVM](../../tutorials/cross-vm-apps/vm-bridge.md#cross-vm-bridge) and how you can build your NFT project [to be compatible with the Flow VM bridge](../../tutorials/cross-vm-apps/vm-bridge.md#prep-your-assets-for-bridging).
- Learn about how you can [bridge your NFTs to Flow-EVM](../../blockchain-development-tutorials/cross-vm-apps/vm-bridge.md#cross-vm-bridge) and how you can build your NFT project [to be compatible with the Flow VM bridge](../../blockchain-development-tutorials/cross-vm-apps/vm-bridge.md#prep-your-assets-for-bridging).
- Use a [no code tool for creating NFT projects on Flow](https://www.touchstone.city/)
2 changes: 1 addition & 1 deletion docs/ecosystem/faucets.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ From the Faucet's landing page, click on the "Create Account" button. You'll be

Know that there is a distinction between Flow native accounts and EVM accounts. Native accounts allow you to interact with the Cadence runtime, while EVM accounts are used for interacting with Flow's EVM. To create an EVM account, you can use EVM tooling to generate an Ethereum Owned Account (EOA) and simply fund the associated address. Alternatively, you can create an EVM account controlled by your Flow native account - known as a Cadence Owned Account (COA) - in which case you'll need a Flow native account and should continue with the steps below.

For more information interacting with EVM via COAs, see the [Interacting With COAs documentation](../tutorials/cross-vm-apps/interacting-with-coa.md).
For more information interacting with EVM via COAs, see the [Interacting With COAs documentation](../blockchain-development-tutorials/cross-vm-apps/interacting-with-coa.md).

:::

Expand Down
2 changes: 1 addition & 1 deletion docs/evm/accounts.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,6 @@ Because COAs are owned by Cadence resources, an EVM transaction is not required

### More Information

To learn how to create and interact with COAs in Cadence, see the guide for [Interacting with COAs from Cadence](../tutorials/cross-vm-apps/interacting-with-coa.md).
To learn how to create and interact with COAs in Cadence, see the guide for [Interacting with COAs from Cadence](../blockchain-development-tutorials/cross-vm-apps/interacting-with-coa.md).

For more information about Cadence Owned Accounts, see the [Flow EVM Support FLIP](https://github.com/onflow/flips/pull/225/files)
2 changes: 1 addition & 1 deletion docs/evm/how-it-works.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ These smart contract wallets are only deployable through the Cadence environment
A COA is not controlled by a key. Instead, every COA account has a unique resource accessible on the Cadence side, and anyone who owns that resource submits transactions on behalf of this address. These direct transactions have COA’s EVM address as the `tx.origin` and a new EVM transaction type (`TxType = 0xff`) is used to differentiate these transactions from other types of EVM transactions (e.g, DynamicFeeTxType (`0x02`). Currently, to make integration and tracking of these transactions byte EVM ecosystem tools, these types of transactions are encoded as legacy EVM transactions (hash computation is based on legacy tx rlp encoding).
Controlling through a resource makes a COA a powerful smart contract wallet. It makes the transfer of ownership of the EVM address super easy without the need to transfer all the assets that an EVM address owns. It also allows a Cadence smart contract to take ownership of an EVM address and makes fully decentralized exchange and bridges across environments possible.

To learn more about how to interact with a COA from the Cadence side, [see here](../tutorials/cross-vm-apps/interacting-with-coa.md).
To learn more about how to interact with a COA from the Cadence side, [see here](../blockchain-development-tutorials/cross-vm-apps/interacting-with-coa.md).

## Proofs

Expand Down
4 changes: 2 additions & 2 deletions docs/evm/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ Ready to unlock the full potential of Flow EVM? Start with our [Batched Transact
[private key]: https://support.metamask.io/configure/accounts/how-to-export-an-accounts-private-key/
[ERC-20]: https://ethereum.org/en/developers/docs/standards/tokens/erc-20/
[testnet Flowscan]: https://evm-testnet.flowscan.io/
[Cross-VM Apps]: ../tutorials/cross-vm-apps/introduction.md
[Batched Transactions]: ../tutorials/cross-vm-apps/introduction.md
[Cross-VM Apps]: ../blockchain-development-tutorials/cross-vm-apps/introduction.md
[Batched Transactions]: ../blockchain-development-tutorials/cross-vm-apps/introduction.md
[OpenZeppelin Contracts]: https://www.openzeppelin.com/contracts
[Cadence-Owned Accounts]: ./accounts.md#cadence-owned-accounts
4 changes: 2 additions & 2 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -304,10 +304,10 @@ const config = {
activeBasePath: '/growth',
},
{
to: 'tutorials',
to: 'blockchain-development-tutorials',
position: 'left',
label: 'Tutorials',
activeBasePath: '/tutorials',
activeBasePath: '/blockchain-development-tutorials',
},
{
type: 'custom-connectButton',
Expand Down
2 changes: 1 addition & 1 deletion sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const sidebars = {
evm: [{ type: 'autogenerated', dirName: 'evm' }],
tools: [{ type: 'autogenerated', dirName: 'tools' }],
ecosystem: [{ type: 'autogenerated', dirName: 'ecosystem' }],
tutorials: [{ type: 'autogenerated', dirName: 'tutorials' }],
tutorials: [{ type: 'autogenerated', dirName: 'blockchain-development-tutorials' }],
};

module.exports = sidebars;
7 changes: 6 additions & 1 deletion vercel.json
Original file line number Diff line number Diff line change
Expand Up @@ -1387,6 +1387,11 @@
"source": "/tutorials/backend-usage/gas-free-evm-endpoint",
"destination": "/tutorials/gasless-transactions/gas-free-evm-endpoint",
"permanent": true
},
{
"source": "/tutorials/:path*",
"destination": "/blockchain-development-tutorials/:path*",
"permanent": true
}
]
}
}