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.
🏃♂️ Example Code
- 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!
- 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.
🏄🏼♂️ Learn Cadence
- 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 the Flow team and contributions from our community.
- 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.
- FCL (Flow Client Library)
- 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!
🛠 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.