
Canopy
Official Go implementation of the Canopy Network blockchain protocol, currently in alphanet.
- Stars
- 14.7k
- Forks
- 17.4k
- Licence
- MIT
- Language
- Go
- Last update
- 15 days ago
- Type
- Other
What it is
Canopy is a blockchain protocol written in Go. According to its README, it is a recursive framework for building blockchains, where chains help bootstrap new chains, and it is also the seed chain that started that cycle. It is an Ethereum-RPC compatible layer 1 for native transfers, so existing Ethereum wallet and indexer tools may be able to connect to it. The README describes it as in alphanet status.
- Run a local Canopy network using the Docker Compose commands in the README
- Build the Canopy binary from source and start a node
- Connect Ethereum tooling such as MetaMask to the /v1/eth endpoint
- Read the controller, FSM, BFT, p2p and store modules to understand the design
- Run the unit test suite with make test
Great for
- Developers exploring blockchain protocol internals written in Go
- Teams evaluating Ethereum-RPC compatible layer 1 chains
- Engineers who want to run a local Canopy test network with Docker
- Researchers studying BFT consensus and recursive chain bootstrapping
Not ideal for
- Non-developers looking for a ready-made end-user app: the README is aimed at protocol builders
- Production users who need a stable network: the README marks the project as alphanet status
- Anyone needing detailed setup guidance: the README gives only brief build and run commands
How to get it
- 1
Clone and build from source
You'll need: Go (README badge references v1.21) · Docker (for the containerized Localnet) · make
Clone the repository
git clone https://github.com/canopy-network/canopyBuild the full Canopy binary
make build/canopy-fullBuild the Docker image for Localnet
make docker/buildStart the Docker Localnet
make docker/up - 2
Run it
- Build the binary with make build/canopy-full
- Start the node with canopy start
- Or start a containerized Localnet with make docker/up and view logs with make docker/logs
- Run unit tests with make test if you are working on the code
- 3
Get the most out of it
- Use the /v1/eth endpoint as a custom Ethereum RPC, and check the eth-spec notes in fsm/ethereum.md for compatibility details
- Read the RPC specification in cmd/rpc/README.md before building integrations
- Review the module READMEs (controller, fsm, bft, p2p, store) to understand how components interact
- Follow the CONTRIBUTING guidelines and open PRs against the development branch
Downloads
Strengths
- Written in Go under the permissive MIT license
- The README documents core modules (controller, FSM, BFT consensus, p2p, persistence) with separate docs
- Offers Ethereum-RPC compatibility for existing wallet and tooling
Trade-offs
- The README labels the project alphanet status, so it may change or be unstable
- Setup documentation is brief and points to external wiki pages for protocol details
- Platform support in the badges is listed as Linux and macOS only
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.