https://github.com/br8bit/foundry-fundme
Foundry crowd sourcing app
https://github.com/br8bit/foundry-fundme
blockchain ethereum ethereum-dapp foundry fundraising-app
Last synced: about 2 months ago
JSON representation
Foundry crowd sourcing app
- Host: GitHub
- URL: https://github.com/br8bit/foundry-fundme
- Owner: br8bit
- Created: 2024-10-06T18:17:54.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-12-28T15:30:37.000Z (5 months ago)
- Last Synced: 2025-02-04T21:44:14.158Z (4 months ago)
- Topics: blockchain, ethereum, ethereum-dapp, foundry, fundraising-app
- Language: Solidity
- Homepage:
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About
Foundry crowd sourcing app
## Requirements
- [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
- You'll know you did it right if you can run `git --version` and you see a response like `git version x.x.x`
- [foundry](https://getfoundry.sh/)
- You'll know you did it right if you can run `forge --version` and you see a response like `forge 0.2.0 (3ff3d05 2024-10-02T00:21:17.360903483Z)`## Quickstart
```
git clone https://github.com/mraliyev/foundry-fundme
cd foundry-fundme
make
```# Usage
## Deploy
```
forge script script/DeployFundMe.s.sol
```## Testing
```
forge test
```or
```
// Only run test functions matching the specified regex pattern.forge test --match-test testFunctionName
```or
```
forge test --fork-url $SEPOLIA_RPC_URL
```### Test Coverage
```
forge coverage
```# Deployment to a testnet or mainnet
1. Setup environment variables
You'll want to set your `SEPOLIA_RPC_URL` and `PRIVATE_KEY` as environment variables. You can add them to a `.env` file, similar to what you see in `.env.example`.
- `PRIVATE_KEY`: The private key of your account (like from [metamask](https://metamask.io/)). **NOTE: FOR DEVELOPMENT, PLEASE USE A KEY THAT DOESN'T HAVE ANY REAL FUNDS ASSOCIATED WITH IT.**
- `SEPOLIA_RPC_URL`: This is url of the sepolia testnet node you're working with. You can get setup with one for free from [Alchemy](https://alchemy.com/?r=7c5d87b062720741)Optionally, add your `ETHERSCAN_API_KEY` if you want to verify your contract on [Etherscan](https://etherscan.io/).
2. Get testnet ETH
Head over to [faucets.chain.link](https://faucets.chain.link/) and get some testnet ETH. You should see the ETH show up in your metamask.
3. Deploy
```
forge script script/DeployFundMe.s.sol --rpc-url $SEPOLIA_RPC_URL --private-key $PRIVATE_KEY --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY
```## Estimate gas
You can estimate how much gas things cost by running:
```
forge snapshot
```And you'll see an output file called `.gas-snapshot`
# Formatting
To run code formatting:
```
forge fmt
```# Contact me
[](https://www.linkedin.com/in/br8bit/)