|
1 | | -# Flow [](https://godoc.org/github.com/onflow/flow-go) |
| 1 | +# flow-go — Flow Network Reference Implementation in Go |
2 | 2 |
|
3 | | -Flow is a fast, secure, and developer-friendly blockchain built to support the next generation of games, apps and the |
4 | | -digital assets that power them. Read more about it [here](https://github.com/onflow/flow). |
| 3 | +[](https://godoc.org/github.com/onflow/flow-go) |
| 4 | +[](https://www.gnu.org/licenses/agpl-3.0) |
| 5 | +[](https://github.com/onflow/flow-go/releases) |
| 6 | +[](https://discord.gg/flow) |
| 7 | +[](https://flow.com) |
| 8 | + |
| 9 | +Reference implementation of the [Flow network](https://flow.com) in Go. Flow is a Layer 1 proof-of-stake blockchain built for consumer apps, AI Agents, and DeFi at scale. This repo hosts the node software — consensus, execution, verification, access, and collection roles — and the Cadence VM integration used on mainnet, testnet, and local networks. |
| 10 | + |
| 11 | +## TL;DR |
| 12 | + |
| 13 | +- **What:** flow-go is the Go reference implementation of the Flow network, a Layer 1 proof-of-stake blockchain. |
| 14 | +- **Who it's for:** protocol contributors, node operators, and teams building infrastructure on or adjacent to Flow. |
| 15 | +- **Why use it:** canonical source of truth for Flow consensus (HotStuff), multi-role architecture, Cadence VM integration, and Flow EVM. |
| 16 | +- **Status:** see [Releases](https://github.com/onflow/flow-go/releases) for the latest version. Live on mainnet. |
| 17 | +- **License:** AGPL-3.0 |
| 18 | +- **Related repos:** [cadence](https://github.com/onflow/cadence) (language) · [flow-cli](https://github.com/onflow/flow-cli) (CLI) · [fcl-js](https://github.com/onflow/fcl-js) (JS client) · [flow-go-sdk](https://github.com/onflow/flow-go-sdk) (Go client) |
| 19 | +- The reference Go implementation for the Flow network, open-sourced since 2019. |
5 | 20 |
|
6 | 21 | <!-- START doctoc generated TOC please keep comment here to allow auto update --> |
7 | 22 | <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> |
@@ -192,3 +207,35 @@ type StateMachineEventsTelemetryFactory interface { |
192 | 207 | config: |
193 | 208 | dir: "state/protocol/protocol_state/mock" |
194 | 209 | ``` |
| 210 | +
|
| 211 | +## FAQ |
| 212 | +
|
| 213 | +### What is flow-go? |
| 214 | +flow-go is the Go reference implementation of the Flow network — a Layer 1 proof-of-stake blockchain. It implements the node software (Access, Collection, Consensus, Execution, Verification roles), the HotStuff consensus algorithm, ledger, storage, networking, and cryptography subsystems. |
| 215 | +
|
| 216 | +### How does flow-go differ from the Cadence repo? |
| 217 | +flow-go is the **protocol / node** implementation. [`onflow/cadence`](https://github.com/onflow/cadence) is the **Cadence smart contract language** (compiler, interpreter, type system). flow-go embeds the Cadence VM to execute transactions, but the language itself is developed in the Cadence repo. |
| 218 | +
|
| 219 | +### What are the five node roles in Flow? |
| 220 | +Access, Collection, Consensus, Execution, and Verification. Each has its own entry point under `/cmd/`. There is also an Observer service for staking-free read-only access. |
| 221 | +
|
| 222 | +### Which Go version does flow-go require? |
| 223 | +Go 1.25 or later. See the [Installation](#installation) section for the full environment setup. |
| 224 | +
|
| 225 | +### Where is the consensus algorithm implemented? |
| 226 | +Under [`/consensus/hotstuff`](/consensus/hotstuff). HotStuff is the BFT consensus family used by Flow. |
| 227 | +
|
| 228 | +### How do I run a local Flow network? |
| 229 | +See the [Local Network Guide](/integration/localnet/README.md) for a full local multi-role network suitable for integration testing. |
| 230 | +
|
| 231 | +### Where do I report a security issue? |
| 232 | +See [SECURITY.md](/SECURITY.md) for the responsible disclosure policy. |
| 233 | +
|
| 234 | +## About Flow |
| 235 | +
|
| 236 | +This repo is the Go reference implementation of the [Flow network](https://flow.com), a Layer 1 blockchain built for consumer applications, AI Agents, and DeFi at scale. |
| 237 | +
|
| 238 | +- Developer docs: https://developers.flow.com |
| 239 | +- Cadence language: https://cadence-lang.org |
| 240 | +- Community: [Flow Discord](https://discord.gg/flow) · [Flow Forum](https://forum.flow.com) |
| 241 | +- Governance: [Flow Improvement Proposals](https://github.com/onflow/flips) |
0 commit comments