Welcome to the Flow Developer Docs
Your resource for everything you'll need to build the future on Flow
Flow is a fast, decentralized, and developer-friendly blockchain, designed as the foundation for a new generation of games, apps, and the digital assets that power them. It is based on a unique, multi-role architecture, and designed to scale without sharding, allowing for massive improvements in speed and throughput while preserving a developer-friendly, ACID-compliant environment.
Get Started
⚡️Preview our new Flow Developer Portal ⚡️
- With the growing number of developers, tools, and content in the Flow ecosystem, we are creating a new experience to help developers not only find and discover what they need, but also have new ways to connect and contribute with the community.
We are launching the full experience in July 2022 but you can preview the new design, layout and content here:
Homepage
Getting Started
Developer Tools
Community
Learn
🏃♂️ Sample Projects
- Flow App Quickstart
A detailed guide covering how to use the FCL (Flow Client Library) to build a serverless app that connects to Flow, using React!
Ready to jump right in? Use one of our quickstart projects: SvelteKit, NextJS, NuxtJS
- 🆕 Kitty Items
The Kitty Items application is a full-featured NFT marketplace that demonstrates what a full-stack application can look like on Flow. It's designed to showcase the power of Cadence and Flow's client libraries.
- Flow Core Contracts
The smart contracts that define the core functionality of the Flow protocol.
- Wallet API Demonstration App
A demonstration (written in TypeScript) of a RESTful API that implements a simple custodial wallet service for the Flow blockchain.
🛠 Developer Tools
- Flow CLI
The Flow CLI includes several commands to interact with Flow networks, such as querying account information, or sending transactions. It also includes the Flow Emulator.
- Flow Emulator
The Flow Emulator is a lightweight tool that emulates the behaviour of the real Flow network. The emulator exposes a gRPC server that implements the Flow Access API, which is designed to have near feature parity with the real network API.
- VSCode Flow
An extension for VSCode editor that integrates Cadence, the resource-oriented smart contract programming language of Flow, into Visual Studio Code. It provides features like syntax highlighting, type checking, code completion, etc.
- FCL Developer Wallet
An application that emulates Flow compatible wallets for use during local development. Click to view the project Github repository, or go to the Kitty Items project for instructions on how to use it while building your project.
🚀 Trending in the community
- 🏆 FLIP Fest Winners
FLIP Fest was conducted over 3 months with over 100 developers participating in working on issues for reward bounties provided by Flow! Check out tools, features & improvements, and standards.
- ⭐️ Gold Star Contracts
A non-exhaustive list of Cadence contracts, scripts, transactions that exemplify best practices. These contracts are so-called foundational because they are standard interfaces that any FT or NFT contract will implement. They introduce commonly seen resources such as Vaults, Collections as well as standard events.
- 📺 Videos
Learn more about Flow and Cadence by watching videos ...
📜 Articles
Hello World on Flow
Resource Oriented Programming Paradigm
Series: Learn Cadence
Series: Build Flow apps
Flow's NFT Metadata StandardRead articles covering Flow and Cadence ...
Get the Flow down (learning resources compilation)
Intro to Flow blockchain
Cadence at a glance
How Cadence and Flow will revolutionize smart contract programming
Taking your First Steps with Cadence
How to Create NFTs Like NBA Top Shot With Flow and IPFS
NFT School: How to build a Flow NFT pet store
Flow Zero to Jacob
🏄🏼♂️ Learn Cadence
- Open Cadence
A list of high-quality Cadence code to help you learn and implement your smart-contract ideas. Highlights include:
Mint an NFT
Set NFT metadata
Create an NFT marketplace
Purchase an NFT on a marketplace - Cadence Tutorials
A detailed guide covering how to start using the Cadence smart contract programming language. This guide also covers how to create scripts and transactions in Cadence to interact with Flow.
- Cadence Language Reference
The language definition for Cadence, covering Cadence syntax. Complete and up-to-date with examples.
- Cadence Best Practices & Patterns
A collection of helpful best-practices for writing Cadence code, sourced from Flow contributions.
- Flow Playground
The Flow Playground is an interactive browser-based IDE for experimenting with Cadence code. It uses the Cadence language server for full type-checking and error reporting. The Playground is the fastest way to prototype your Cadence project and experiment with the language.
👩💻 Flow SDKs
- SDK Guidelines
Considering building an SDK for Flow? These guidelines will help light your path.
- Access Node - HTTP API
Flow Access Nodes now have an HTTP API.
Mainnet: https://rest-mainnet.onflow.org/v1/
Testnet: https://rest-testnet.onflow.org/v1/
- FCL (Flow Client Library)
Connect to the Flow blockchain from your JavaScript environment. Works in both browser and NodeJS.
- Flow GO SDK
The Flow GO SDK is a powerful full-fetured set of tools for creating applications and services that leverage the Flow blockchain.
- Flow JVM SDK
The Flow JVM SDK is a library for JVM languages (e.g. Java, Kotlin) that provides utilities to interact with the Flow blockchain.
- Community SDKs
View all Available SDKs for Flow, including SDKs for Ruby, .NET, Elixir, Dart and others!