A decentralized crowdfunding smart contract built with Solidity. It allows users to fund the contract with ETH, and the contract owner can withdraw the total funds. Uses Chainlink Price Feeds to enforce a minimum funding amount in USD.
- Enforces a minimum funding amount of 5 USD (converted from ETH using Chainlink)
- Tracks how much each address has funded
- Only the owner can withdraw funds
- Handles plain ETH transfers using
receive()andfallback()
- Users must fund at least $5 worth of ETH
- Funds are tracked per address
- Only contract
ownercan withdraw funds - Safe withdrawal using:
transfersendcall
Allows anyone to send ETH to the contract if the amount (in USD) is β₯ $5.
Returns the amount of ETH in USD using Chainlink oracle.
Fetches the latest ETH/USD price from Chainlink.
Returns the version of the Chainlink price feed.
Can only be called by the owner. Resets balances and sends ETH to the owner's address using:
.transfer.send.call
Automatically call fund() if ETH is sent directly without data.
- Used for conversion between ETH and USD.
- Address (Sepolia):
0x694AA1769357215DE4FAC081bf1f309aDC325306
- Solidity
^0.8.18 - Chainlink Oracles
- Ethereum Sepolia/Testnet