跳转到主要内容

前置条件

你应该已经设置好 Foundry 项目,并成功部署了智能合约。 请参阅使用 Foundry 部署智能合约教程了解如何操作。 可选但强烈推荐:你还应该已经成功验证了智能合约。 请参阅使用 Foundry 验证智能合约教程了解如何操作。

调用函数 - 查询

查询是只读操作。 因此智能合约状态不会更新。 由于不需要状态更改,不需要钱包、签名或交易费用(gas)。 使用以下命令查询 value() 函数:
${SC_ADDRESS} 替换为你部署智能合约的地址。 例如,如果智能合约地址是 0x213ba803265386c10ce04a2caa0f31ff3440b9cf,命令是:
这应该输出以下内容。
请注意,0x0000000000000000000000000000000000000000000000000000000000000000 表示 0。 它是 Solidity 的 uint256(智能合约中 value() 函数的返回类型)的十六进制原始表示。

调用函数 - 交易

交易是写操作。 因此智能合约状态会更新。 由于可能发生状态更改,交易必须由钱包签名,并且需要支付交易费用(gas)。 使用以下命令执行 increment(num) 函数的交易。
请注意,gas price 以 wei 为单位。 1 wei = 10^-18 INJ。
${SC_ADDRESS} 替换为你部署智能合约的地址。 例如,如果智能合约地址是 0x213ba803265386c10ce04a2caa0f31ff3440b9cf,命令是:
如果成功,这应该产生类似以下的结果:
更新状态后,你可以查询新状态。 结果将反映状态更改。
这次结果应该是 0x0000000000000000000000000000000000000000000000000000000000000001,因为 0 + 1 = 1

下一步

恭喜,你已经完成了使用 Foundry 在 Injective 上开发 EVM 智能合约的整个指南! 智能合约不能为非技术用户提供用户体验。 为了服务他们,你需要构建一个去中心化应用。 请查看你的第一个 dApp 指南!
最后修改于 2026年3月30日