This is the monorepo for the Cannon Hardhat plugin. If you’re just interested in using the project, visit the website.
For more information, please see documentation in the modules listed below:
cli
: Source code for the CLI, accessible atnpx @usecannon/cli <package:version>
. This downloads a package from the registry, optionally exports deployment data, and runs the package on an Anvil nodehardhat-cannon
: Main plugin module which is imported into packagesregistry
: Contains source and deployment code for the IPFS registryregistry-subgraph
: Indexes the registry contract onto The Graph for display on the website explorersample-project
: Demonstrates the core functionality of thehardhat-cannon
modulecontracts
: Cannonfiles for standard contractswebsite
: Source code for https://usecannon.combuilder
: Contains source code that builds chain data from cannonfiles
Start by bootstrapping the project from the root directory:
npx lerna bootstrap
After making changes, rebuild the project:
npm run build
Use the development version of the CLI:
cd ./packages/cli && npm start -- <package:version>
Test changes to the Hardhat plug-in in the sample project:
cd ./packages/sample-project && npx hardhat cannon:build