discover · compare · collections · requirements · contribute · feed · watching · stats · help with your tokens
canopy-network/canopy · source
Snapshot 0 · 2026-11-04T12:47:27Z · Go · MIT
Content fingerprint
997c3add158478bfb27276d2128c91b7c9e40c522aeb30848874af6c62117f75GitHub description at capture
The official go implementation of the Canopy Network protocol
README at capture
<img src="./canopy-logo-white-bg.svg" alt="Canopy Logo" width="500"/> _Official golang implementation of the Canopy Network Protocol_ [](https://godoc.org/github.com/canopy-network/canopy) [](https://canopynetwork.org) [](https://golang.org) [](https://nextjs.org/) # Overview [](https://opensource.org/licenses/MIT) [](https://docs.docker.com/compose/) [](https://github.com/canopy-network/canopy/releases) [](https://docs.docker.com/compose/) ### ⫸ **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](https://canopynetwork.org) ## Standard ➪ Canopy is an Ethereum-RPC compatible L1 for native transfers, so it can plug into existing Ethereum exchange, wallet, and indexer tooling, including MetaMask. Use the `/v1/eth` endpoint as a custom Ethereum RPC and review the compatibility notes in the [eth-spec](./fsm/ethereum.md) ## RPC ➪ [Full RPC Specification](./cmd/rpc/README.md) ## Protocol Documentation ➪ Check out the Canopy Network wiki: [https://canopy-network.gitbook.io/docs](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](controller/README.md): 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)](fsm/README.md): 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](bft/README.md): A consensus mechanism that allows the network to agree on new blocks even if some nodes are unreliable or malicious. - [Peer-to-Peer Networking](p2p/README.md): A secure and encrypted communication system that lets nodes talk directly to each other without needing a central server. - [Persistence](store/README.md): 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: ```bash 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: ```bash 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: ```bash 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](CONTRIBUTING.md) to maintain high-quality contributions: ### High Impact or Architectural Changes ➪ Before making large changes, discuss them with the Canopy team on [Discord](https://discord.gg/pNcSJj7Wdh) to ensure alignment. ### Coding Style - Code must adhere to official Go formatting (use [`gofmt`](https://golang.org/cmd/gofmt)). - (Optional) Use [EditorConfig](https://editorconfig.org) for consistent formatting. - All code should follow Go documentation/commentary guidelines. - PRs should be opened against the `development` branch. [](https://github.com/canopy-network/canopy/releases) [](https://github.com/canopy-network/canopy/pulse) [](https://github.com/canopy-network/canopy/pulse) ## Contact [](https://x.com/CNPYNetwork) [](https://discord.gg/pNcSJj7Wdh)