A Foundry-based NFT smart contract project written in Solidity. This repository provides a robust template for developing, testing, and deploying NFT contracts using Foundry.
The Foundry NFT project is a starting point for NFT smart contract development. Leveraging the power of the Foundry toolchain, this project streamlines the process of building, testing, and deploying Solidity contracts. Whether you are a beginner or an experienced developer, this repository provides a solid framework to kickstart your NFT project.
- Solidity-based Contracts: All contracts are written in Solidity.
- Foundry Integration: Use Foundryβs
forge
commands to compile, test, and deploy contracts. - Automated Testing: Extensive test suite located in the
test
folder. - Deployment Scripts: Deployment scripts are available in the
script
folder. - Continuous Integration: GitHub Actions workflows are set up for automated testing and linting.
- Environment Configuration: Sample environment variables provided in
.env.example
.
- Foundry β Ethereum development toolchain.
- Git β For version control.
- Node.js (optional) β If you plan to interact with the project using JavaScript-based tools.
- A code editor of your choice (e.g., VS Code).
git clone https://github.com/Steiner-254/foundry-nft.git
cd foundry-nft
- If you havenβt installed Foundry yet, run:
curl -L https://foundry.paradigm.xyz | bash
foundryup
- If your project requires additional dependencies from the lib directory, ensure they are updated:
forge install
- Copy the example environment file and adjust the values as needed:
cp .env.example .env
- To compile the Solidity contracts, run:
forge build
- Execute the test suite to ensure everything is working as expected:
forge test
- Deployment scripts are available in the script folder. To deploy your NFT contract, run:
forge script script/DeployNFT.s.sol --broadcast --verify
(Make sure you have configured your network settings and private keys as needed.)
- src/: Contains all Solidity source contracts.
- test/: Contains unit tests for the contracts.
- script/: Deployment and utility scripts.
- lib/: External libraries and dependencies.
- .github/workflows/: CI/CD configurations for GitHub Actions.
- Makefile: Command shortcuts for common tasks.
- foundry.toml: Configuration file for Foundry.
- .env.example: Example file for environment variables.
- This project is licensed under the MIT License. See the LICENSE file for details.
- Project Developed By: Steinet254
- Feel free to fork this repo, submit issues, or create pull requests! Contributions are always welcome.
Foundry
for providing an exceptional framework for Solidity development.OpenZeppelin
for setting standards in secure contract implementations.Ethereum Community
for supporting decentralized application development.Cyfrin Updraft
for the learning content aiding to this project development.
Happy Web3 Revolution <3