This is a crowd sourcing app
- Requirements
- git
You'll know you did it right if you can run
git --version
and you see a response likegit version x.x.x
foundry You'll know you did it right if you can runforge --version
and you see a response likeforge 0.2.0 (25f24e6 2024-09-28T00:21:16.976996664Z)
https://github.com/liumOazed/foundry-fund-me-full.git
cd foundry-fund-me-full
make
forge script script/DeployFundMe.s.sol
We talk about 4 test tiers in the video.
- Unit
- Integration
- Forked
- Staging
This repo we cover #1 and #3.
forge test --mt testFunctionName
or
forge test --fork-url $SEPOLIA_RPC_URL
forge coverage
- 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). NOTE: FOR DEVELOPMENT, PLEASE USE A KEY THAT DOESN'T HAVE ANY REAL FUNDS ASSOCIATED WITH IT. You can learn how to export it here.
- 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 Optionally, add your ETHERSCAN_API_KEY if you want to verify your contract on Etherscan.
-
Get testnet ETH Head over to faucets.chain.link and get some testnet ETH. You should see the ETH show up in your metamask.
-
Deploy
forge script script/DeployFundMe.s.sol --rpc-url $SEPOLIA_RPC_URL --private-key $PRIVATE_KEY --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY
You can estimate how much gas things cost by running:
forge snapshot
And you'll see an output file called .gas-snapshot