我知道可以在 Foundry 中的分叉测试网上运行测试
forge test --fork-url SEPOLIA_RPC_URL
或
forge test --rpc-url SEPOLIA_RPC_URL #same result with --fork-url
但是,如果我想在真正的 sepolia 测试网上运行测试并为此测试实际支付 sepolia eth 该怎么办? Foundry 有没有办法做到这一点(我知道在安全帽中这是很容易实现的)。
我的测试中甚至有这个修饰符,它只能在真正的测试网上运行:
modifier onlyOnDeployedContracts() {
if (block.chainid == 31337) {
return;
}
try vm.activeFork() returns (uint256) {
return;
} catch {
_;
}
}
如果没有分叉,vm.activeFork 应该恢复。
我认为您正在寻找的实际上是与 Hardhat 任务具有相同功能的“脚本”。 Foundry 中的 Solidity 脚本允许您在本地 EVM 中运行模拟、链上以及广播实际交易。
在此处查找详细指南:https://book.getfoundry.sh/tutorials/solidity-scripting