Foundry之部署合约本地网络
Foundry之部署合约本地网络
在之前的文章里,我们介绍了如何使用Foundry来对我们的合约进行测试。现在合约测试完成后,我们需要将合约部署到本地网络上,以便其他用户可以调用。准备工作与测试合约类似,Foundry支持通过脚本的方式来部署合约到本地网络。首先,需要我们在之前的项目下新建script目录,并新建deploy.s.sol文件,内容如下: 代码语言:solidity复制// SPD
Foundry之部署合约本地网络
在之前的文章里,我们介绍了如何使用Foundry来对我们的合约进行测试。现在合约测试完成后,我们需要将合约部署到本地网络上,以便其他用户可以调用。
与测试合约类似,Foundry支持通过脚本的方式来部署合约到本地网络。首先,需要我们在之前的项目下新建script
目录,并新建deploy.s.sol
文件,内容如下:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "../src/String.sol"; // 需要部署的合约
import "forge-std/Script.sol";
contract DeployString is Script{
function run() public{
uint256 deployerPrivateKey = ("RAW_PRIVATE_KEY");
vm.startBroadcast(deployerPrivateKey);
SimpleStorage ss = new SimpleStorage();
vm.stopBroadcast();
cole.log("SimpleStorage address: ",address(ss));
}
}
在上面的脚本中,我们使用了环境变量RAW_PRIVATE_KEY
来获取部署者的私钥,并使用vm.startBroadcast
方法开启广播模式,然后使用new
关键字创建了一个SimpleStorage
合约的实例,并使用vm.stopBroadcast
方法停止广播模式。最后,我们使用cole.log
方法输出了SimpleStorage
合约的地址。
在开始部署合约之前,我们还需要配置两个环境变量:
RAW_PRIVATE_KEY
,存储部署者的私钥,格式为十六进制字符串。ETH_RPC_URL
,本地测试网络的RPC URL。
环境变量配置完成后,我们可以运行forge script
命令来部署合约:
$ forge script script/deployString.s.sol --broadcast --legacy
[⠢] Compiling...
o files changed, compilation skipped
Script ran successfully.
== Logs ==
SimpleStorage address: 0xb9f4084fFef8e747dC607879dc87cdF4f0D7041C
## Setting up 1 EVM.
==========================
Chain 4295854
Estimated gas price: 0.000000001 gwei
Estimated total gas used for script: 2722
Estimated amount required: 0.0000000000002722 ETH
==========================
##### 4295854
✅ [Success] Hash: 0x46d8f9576fb621fab64ce51f6216ca0f98184e0ffd8a45ffbcd08e548d9
Contract Address: 0xb9f4084fFef8e747dC607879dc87cdF4f0D7041C
Block: 26
Paid: 0.00000000000025594 ETH (255940 gas * 0.000000001 gwei)
✅ Sequence #1 on 4295854 | Total Paid: 0.00000000000025594 ETH (255940 gas * avg 0.000000001 gwei)
==========================
OCHAI EXECUTIO COMPLETE & SUCCESSFUL.
Transacti saved to: /root/vscode/contract/broadcast/deployString.s.sol/4295854/run-latest.json
Sensitive values saved to: /root/vscode/contract/cache/deployString.s.sol/4295854/run-latest.json
部署成功后,我们可以看到SimpleStorage
合约的地址。
因为我本地的测试网络不支持 EIP1559,所以使用
--legacy
参数
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-21 10:03:24
推荐阅读
留言与评论(共有 16 条评论) |
本站网友 肖鹰 | 3分钟前 发表 |
我们介绍了如何使用Foundry来对我们的合约进行测试 | |
本站网友 神经外科 | 21分钟前 发表 |
因为我本地的测试网络不支持 EIP1559 | |
本站网友 金钱草功效 | 8分钟前 发表 |
我们介绍了如何使用Foundry来对我们的合约进行测试 | |
本站网友 母基金 | 6分钟前 发表 |
Foundry之部署合约本地网络 在之前的文章里 | |
本站网友 厦门98投洽会 | 30分钟前 发表 |
/root/vscode/contract/cache/deployString.s.sol/4295854/run-latest.json部署成功后 | |
本站网友 如何减去双下巴 | 6分钟前 发表 |
格式为十六进制字符串 | |
本站网友 双核处理器 | 26分钟前 发表 |
address(ss)); } }在上面的脚本中 | |
本站网友 天印花园 | 27分钟前 发表 |
以便其他用户可以调用 | |
本站网友 路由器那个牌子好 | 8分钟前 发表 |
address(ss)); } }在上面的脚本中 | |
本站网友 郑州富士康厂址 | 8分钟前 发表 |
格式为十六进制字符串 | |
本站网友 雷尼替丁片 | 22分钟前 发表 |
compilation skipped Script ran successfully. == Logs == SimpleStorage address | |
本站网友 相互保 | 4分钟前 发表 |
26 Paid | |
本站网友 国家法律数据库 | 22分钟前 发表 |
0xb9f4084fFef8e747dC607879dc87cdF4f0D7041C Block | |
本站网友 老乡鸡菜单 | 18分钟前 发表 |
0.000000001 gwei Estimated total gas used for script | |
本站网友 太原商铺转让 | 2分钟前 发表 |
内容如下: 代码语言:solidity复制// SPDX-License-Identifier |