This template repo is a quick and easy way to get started with a new Solidity project. It comes with a number of features that are useful for developing and deploying smart contracts. Such as:
- Pre-commit hooks for formatting, auto generated documentation, and more
- Various libraries with useful contracts (OpenZeppelin, Solady) and libraries (Deployment log generation, storage checks, deployer templates)
Follow these steps to set up your local environment:
- Install foundry
- Install dependencies:
forge install
- Build contracts:
forge build
- Test contracts:
forge test
If you intend to develop on this repo, follow the steps outlined in CONTRIBUTING.md.
This repo utilizes versioned deployments. For more information on how to use forge scripts within the repo, check here.
Smart contracts are deployed or upgraded using the following command:
forge script script/Deploy.s.sol --broadcast --rpc-url <rpc_url> --verify
The documentation and architecture diagrams for the contracts within this repo can be found here. Detailed documentation generated from the NatSpec documentation of the contracts can be found here. When exploring the contracts within this repository, it is recommended to start with the interfaces first and then move on to the implementation as outlined here
If you want to contribute to this project, please check CONTRIBUTING.md first.