File tree Expand file tree Collapse file tree 7 files changed +138
-0
lines changed
Expand file tree Collapse file tree 7 files changed +138
-0
lines changed Original file line number Diff line number Diff line change 1+ name : CI
2+
3+ permissions : {}
4+
5+ on :
6+ push :
7+ pull_request :
8+ workflow_dispatch :
9+
10+ env :
11+ FOUNDRY_PROFILE : ci
12+
13+ jobs :
14+ check :
15+ name : Foundry project
16+ runs-on : ubuntu-latest
17+ permissions :
18+ contents : read
19+ steps :
20+ - uses : actions/checkout@v5
21+ with :
22+ persist-credentials : false
23+ submodules : recursive
24+
25+ - name : Install Foundry
26+ uses : foundry-rs/foundry-toolchain@v1
27+
28+ - name : Show Forge version
29+ run : forge --version
30+
31+ - name : Run Forge fmt
32+ run : forge fmt --check
33+
34+ - name : Run Forge build
35+ run : forge build --sizes
36+
37+ - name : Run Forge tests
38+ run : forge test -vvv
Original file line number Diff line number Diff line change 1+ # Compiler files
2+ cache /
3+ out /
4+
5+ # Ignores development broadcast logs
6+ ! /broadcast
7+ /broadcast /* /31337 /
8+ /broadcast /** /dry-run /
9+
10+ # Docs
11+ docs /
12+
13+ # Dotenv file
14+ .env
15+
16+ # macOS
117.DS_Store
Original file line number Diff line number Diff line change 1+ [submodule "lib/forge-std "]
2+ path = lib/forge-std
3+ url = https://github.com/foundry-rs/forge-std
14[submodule "02 Foundry Fundamentals/Smart Contract Lottery/lib/solmate "]
25 path = 02 Foundry Fundamentals/Smart Contract Lottery/lib/solmate
36 url = https://github.com/transmissions11/solmate
Original file line number Diff line number Diff line change 1+ ## Foundry
2+
3+ ** Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.**
4+
5+ Foundry consists of:
6+
7+ - ** Forge** : Ethereum testing framework (like Truffle, Hardhat and DappTools).
8+ - ** Cast** : Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
9+ - ** Anvil** : Local Ethereum node, akin to Ganache, Hardhat Network.
10+ - ** Chisel** : Fast, utilitarian, and verbose solidity REPL.
11+
12+ ## Documentation
13+
14+ https://book.getfoundry.sh/
15+
16+ ## Usage
17+
18+ ### Build
19+
20+ ``` shell
21+ $ forge build
22+ ```
23+
24+ ### Test
25+
26+ ``` shell
27+ $ forge test
28+ ```
29+
30+ ### Format
31+
32+ ``` shell
33+ $ forge fmt
34+ ```
35+
36+ ### Gas Snapshots
37+
38+ ``` shell
39+ $ forge snapshot
40+ ```
41+
42+ ### Anvil
43+
44+ ``` shell
45+ $ anvil
46+ ```
47+
48+ ### Deploy
49+
50+ ``` shell
51+ $ forge script script/Counter.s.sol:CounterScript --rpc-url < your_rpc_url> --private-key < your_private_key>
52+ ```
53+
54+ ### Cast
55+
56+ ``` shell
57+ $ cast < subcommand>
58+ ```
59+
60+ ### Help
61+
62+ ``` shell
63+ $ forge --help
64+ $ anvil --help
65+ $ cast --help
66+ ```
Original file line number Diff line number Diff line change 1+ {
2+ "lib/forge-std": {
3+ "tag": {
4+ "name": "v1.12.0",
5+ "rev": "7117c90c8cf6c68e5acce4f09a6b24715cea4de6"
6+ }
7+ }
8+ }
Original file line number Diff line number Diff line change 1+ [profile .default ]
2+ src = " src"
3+ out = " out"
4+ libs = [" lib" ]
5+
6+ # See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options
You can’t perform that action at this time.
0 commit comments