Flow is a fast, secure, and developer-friendly blockchain built to support the next generation of games, apps, and the digital assets that power them.
- For a high-level overview of Flow's architecture, check out the primer.
- Details about the protocol can be found in the technical papers.
- For more documentation and tutorials, check out docs.onflow.org.
๐จ Let's build!
The following sections introduce common use cases for developers building on Flow.
๐โโ๏ธ Cadence is the smart contract programming language of the future.
Cadence introduces resource-oriented programming, a new paradigm that pairs linear types with object capabilities to create a secure and declarative model for digital ownership.
Give Cadence a try and learn the fundamentals with the Flow Developer Playground.
๐ Sign transactions from any device and stay secure with native multisig support.
Flow supports a variety of signature algorithms and curves, making it easy for users to manage keys using the secure enclave on their laptop, phone or inside a battle-ready HSM.
Every Flow account has built-in support for multi-signature transactions, making it simpler than ever to secure your account with multiple weighted keys.
Learn more about accounts, weighted keys and transactions in this guide.
๐ป Build on Flow from the comfort of your own dev machine.
The Flow Emulator is a feature complete replica of the real network that looks, acts and talks like Flow. You can use the emulator right now to build real applications that are compatible with both testnet and mainnet.
- Install the emulator
- Follow the examples in the Flow Go SDK to see it in action
โ๏ธ Submit transactions and read chainstate with the Flow Access API.
The Flow Access API provides a single unified interface for applications and user agents to connect to the Flow network. The API is implemented by both the Flow Emulator and the network itself.
- Submit a transaction
- Query the status of a transaction
- Get the latest block
- Query events emitted by your transactions
- Read state stored in contracts and accounts
You can find an in-depth description of each of the above features in the Flow Access API Specification.
To interact with the Flow Access API from JavaScript you can use the Flow JavaScript SDK
๐ Learn the fundamentals of Flow.
- Introduction to Cadence
- Accounts, Keys & Signing
- Transaction Lifecyle
- Flow Access API
- Using the Emulator
- Technical Papers
- Technical Paper 1: Separating Consensus & Compute
- Technical Paper 2: Block Formation
- Technical Paper 3: Execution Verification
โ๏ธ Practical tools for building on Flow.
The Flow SDKs provide libraries for applications to connect and interact with the Flow network.