Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

This is my first project on Solidity.

🏦 Foundry FundMe Project

A simple decentralized funding/crowdfunding smart contract built with Foundry.
Users can fund the contract with ETH, and the owner can withdraw the total balance.

🧪 Built for learning and testing DeFi project structures using Foundry + Solidity.


📌 Features

  • ✅ Fund the contract with ETH
  • ✅ Keep track of all funders
  • ✅ Owner-only withdraw function
  • ✅ Price conversion using Chainlink price feed
  • ✅ Integration and unit tests with Foundry
  • ✅ Deployment to local Anvil and Sepolia testnet

🧰 Tech Stack

  • Language: Solidity ^0.8.x
  • Framework: Foundry (Forge, Cast, Anvil)
  • Oracle: Chainlink Price Feed
  • Network: Sepolia Testnet / Local Anvil
  • Tools: dotenv, makefile, scripts

🧭 Project Structure

foundry-fund/ │ ├── src/ # Solidity contracts │ └── FundMe.sol │ ├── script/ # Deployment scripts │ └── DeployFundMe.s.sol │ ├── test/ # Unit & integration tests │ └── FundMeTest.t.sol │ ├── lib/ # Dependencies (e.g., forge-std, chainlink) │ ├── .env # Environment variables (private key, RPC URL) ├── foundry.toml # Foundry configuration ├── Makefile # Automation commands ├── README.md # Documentation


⚙️ Installation & Setup

git clone https://github.com/your-username/foundry-fund.git
cd foundry-fund

##Install Dependencies
forge install foundry-rs/forge-std
forge install smartcontractkit/chainlink-brownie-contracts
## Bash Command
forge test
forge test --match-test testFundFunction
forge test -vvvv
## DEPLOYMENT
anvil
forge script script/DeployFundMe.s.sol:DeployFundMe \
--rpc-url http://127.0.0.1:8545 \
--private-key <ANVIL_PRIVATE_KEY> \
--broadcast
Check out my [Profile](https://x.com/JoeObotu?t=mje_aZK3w1317WGWg_ueWg&s=09)!

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages