canopy

module
v0.1.14-snapshot Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 24, 2025 License: MIT

README

Canopy Logo

Official golang implementation of the Canopy Network Protocol

GoDoc Getting Started Go Version Next.js Version

Overview

License Testing Platform Status

⫸ Welcome to the Network that Powers the Peer-to-Peer Launchpad for New Chains

Built on a recursive architecture, chains bootstrap each other into independence —
forming an unstoppable web of utility and security.

Here you'll find:

➪ A recursive framework to build blockchains.

➪ The seed chain that started the recursive cycle.

For more information on the Canopy Network Protocol visit https://canopynetwork.org

Network Status

⪢ Canopy is in Betanet 🚀 ➝ learn more about the road-to-mainnet

Protocol Documentation

➪ Check out the Canopy Network wiki: https://canopy-network.gitbook.io/docs

Repository Documentation

Welcome to the Canopy Network reference implementation. This repository can be well understood reading about the core modules:

  • Controller: Coordinates communication between all the major parts of the Canopy blockchain, like a central hub or "bus" that connects the system together.
  • Finite State Machine (FSM): Defines the logic for how transactions change the blockchain's state — it decides what’s valid and how state transitions happen from one block to the next.
  • Byzantine Fault Tolerant (BFT) Consensus: A consensus mechanism that allows the network to agree on new blocks even if some nodes are unreliable or malicious.
  • Peer-to-Peer Networking: A secure and encrypted communication system that lets nodes talk directly to each other without needing a central server.
  • Persistence: Manages the blockchain’s storage — it saves the current state (ledger), indexes past transactions, and ensures fast and reliable data verification.

How to Run It

➪ To run the Canopy binary, use the following commands:

make build/canopy-full
canopy start

How to Run It with 🐳 Docker

➪ To run a Canopy Localnet in a containerized environment, use the following commands:

make docker/build
make docker/up-fast
make docker/logs

or simply

make docker/up && make docker/logs

Running Tests

➪ To run Canopy unit tests, use the Go testing tools:

make test

How to Contribute

➪ Canopy is an open-source project, and we welcome contributions from the community. Here's how to get involved:

  1. Fork the repository and clone it locally.
  2. Code your improvements or fixes.
  3. Submit a Pull Request (PR) for review.

➣ Please follow these guidelines to maintain high-quality contributions:

High Impact or Architectural Changes

➪ Before making large changes, discuss them with the Canopy team on Discord to ensure alignment.

Coding Style
  • Code must adhere to official Go formatting (use gofmt).
  • (Optional) Use EditorConfig for consistent formatting.
  • All code should follow Go documentation/commentary guidelines.
  • PRs should be opened against the development branch.

Pre-Release Go Report Card Contributors Last Commit

Contact

Twitter Discord

Code written by hand with ❤️ by the team, documentation with the help of AI for some of the ESL team

Directories

Path Synopsis
cmd
auto-update command
cli
main command
rpc
lib

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL