Skip to content

Unleash the power of blockchain with Foundry NFT – a cutting-edge framework designed for seamless NFT smart contract development, testing, and deployment using the Foundry toolchain! πŸš€βœ¨

Notifications You must be signed in to change notification settings

Steiner-254/foundry-nft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Foundry NFT

Build Status License: MIT

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.

Table of Contents

Overview

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.

Features

  • 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.

Prerequisites

  • 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).

Installation

Clone the Repository

git clone https://github.com/Steiner-254/foundry-nft.git
cd foundry-nft

Install Foundry

  • If you haven’t installed Foundry yet, run:
curl -L https://foundry.paradigm.xyz | bash
foundryup

Install Dependencies

  • If your project requires additional dependencies from the lib directory, ensure they are updated:
forge install

Configure Environment Variables

  • Copy the example environment file and adjust the values as needed:
cp .env.example .env

Usage

Building the Project

  • To compile the Solidity contracts, run:
forge build

Running Tests

  • Execute the test suite to ensure everything is working as expected:
forge test

Deployment

  • 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.)

Project Structure

  • 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.

License πŸ“œ

  • This project is licensed under the MIT License. See the LICENSE file for details.

Contributing 🀝

  • Project Developed By: Steinet254
  • Feel free to fork this repo, submit issues, or create pull requests! Contributions are always welcome.

Acknowledgments πŸ™Œ

  • 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 Coding! πŸš€

Happy Web3 Revolution <3

About

Unleash the power of blockchain with Foundry NFT – a cutting-edge framework designed for seamless NFT smart contract development, testing, and deployment using the Foundry toolchain! πŸš€βœ¨

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published