跳转到主要内容

前置条件

确保你已安装 Foundry,运行以下命令:
请注意,本教程使用的版本是 1.2.3-stable。请确保在跟随操作时使用此版本或更高版本。 如果你还没有 foundry,运行以下命令安装:
还有其他安装 Foundry 的选项。 请参阅 Foundry 安装文档
你需要一个钱包,以及一个已充值 Testnet INJ 的账户。
你可以从 Injective Testnet faucet 申请 EVM testnet 资金。
创建账户后,请务必将私钥复制到可访问的位置,因为你需要它来完成本教程。
请注意,私钥应谨慎处理。 此处的说明仅适用于本地开发和 Testnet。 但是,这些方法对于 Mainnet 上使用的私钥来说不够安全。 请确保在 Mainnet 上遵循密钥安全的最佳实践,并且不要在 Mainnet 和其他网络之间重复使用相同的密钥/账户。

设置新的 Foundry 项目

使用 git 克隆演示仓库,该仓库已为你完全设置好项目。
安装 forge-std 库,它提供了本项目中使用的实用函数。

项目结构

在代码编辑器/IDE 中打开仓库,查看目录结构。
foundry.toml 文件已预配置为连接到 Injective EVM Testnet。 在继续之前,你只需要提供 Injective Testnet 账户的私钥。 输入以下命令导入私钥,并将其保存到名为 injTest 的账户:
这将提示你输入私钥,以及每次使用此账户时需要输入的密码。 使用你之前创建并充值的账户的私钥(例如通过 Injective Testnet faucet)。 请注意,当你输入或粘贴私钥和密码的文本时,终端中不会显示任何内容。 输出应该类似于:
这会将私钥的加密版本保存在 ~/.foundry/keystores 中, 在后续命令中可以使用 --account CLI 标志访问。

编辑智能合约

此演示中包含的智能合约非常基础。它:
  • 存储一个 value,这是一个数字。
  • 暴露一个 value() 查询方法。
  • 暴露一个 increment(num) 交易方法。
打开文件:src/Counter.sol

编译智能合约

运行以下命令:
Foundry 将自动下载并运行在 foundry.toml 文件中配置的 Solidity 编译器(solc)版本。

检查编译输出

编译器完成后,你应该在项目目录中看到额外的目录:
打开 Counter.json 文件(out/Counter.sol/Counter.json)。 在其中,你应该看到编译器输出,包括 abibytecode 字段。 这些 artifacts 将在后续所有步骤(测试、部署、验证和交互)中使用。

下一步

现在你已经设置了 Foundry 项目并编译了智能合约,你可以开始测试该智能合约了! 接下来请查看使用 Foundry 测试智能合约教程。
最后修改于 2026年3月30日