创建一个新项目
要使用 Foundry 启动一个新项目,请使用 forge init
:
$ forge init hello_foundry
这将从默认模板创建一个新目录“hello_foundry”。 这也会初始化一个新的 git
存储库。
如果你想使用不同的模板创建一个新项目,你可以传递 --template
指令,如下所示:
$ forge init --template https://github.com/foundry-rs/forge-template hello_template
现在,让我们检查一下默认模板的样子:
$ cd hello_foundry
$ tree . -d -L 1
.
├── lib
├── script
├── src
└── test
4 directories
默认模板安装了一个依赖项:Forge 标准库。 这是用于 Foundry 项目的首选测试库。 此外,该模板还附带一个空的入门合约和一个简单的测试。
让我们构建项目:
$ forge build
Compiling 10 files with 0.8.16
Solc 0.8.16 finished in 3.97s
Compiler run successful
并运行测试:
$ forge test
No files changed, compilation skipped
Running 2 tests for test/Counter.t.sol:CounterTest
[PASS] testIncrement() (gas: 28312)
[PASS] testSetNumber(uint256) (runs: 256, μ: 27376, ~: 28387)
Test result: ok. 2 passed; 0 failed; finished in 24.43ms
您会注意到弹出了两个新目录:out
和 cache
。
out
目录包含您的合约结构文件,例如 ABI,而 cache
被 forge
使用来仅仅重新编译必要的内容。