Cannon is a DevOps tool that enables an Infrastructure-as-Code pattern for protocol deployments on local nodes for development and live blockchains. 

Protocol development has become significantly more complex than writing individual, immutable smart contracts. The use of proxies and routers to build protocols of unlimited sizes and upgrade them has become necessary to build novel onchain products. Upgrades need to be throughly tested by engineers and reviewed by multiple parties for signature. Protocols also typically integrate with existing protocols and tokens, which need to deployed locally and configured for testing during development. Plus, given the proliferation of L2s, cross-chain engineering means this work can quickly multiply across many chains.

Managing all of these concerns—developer operations—can become more time consuming and critical for a project’s success than the engineering of the smart contract code involved. Cannon is a comprehensive tool that supports a protocol’s entire lifecycle (including development, testing, deployment, upgrades, and configuration) across an arbitrary number of chains.