创建一个新项目

要使用 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

您会注意到弹出了两个新目录:outcache

out 目录包含您的合约结构文件,例如 ABI,而 cacheforge 使用来仅仅重新编译必要的内容。