Solidity学习笔记:使用Foundry框架搭建本地智能合约开发环境
2024/06/17
Foundry 是一个以太坊应用开发框架,使用 Rust 编写。它由以下组件组成:
- Forge:以太坊测试框架,类似于 Truffle、Hardhat 和 DappTools。
- Cast:用于与 EVM 智能合约交互的多功能工具,可以发送交易和获取链数据。
- Anvil:本地以太坊节点,类似于 Ganache、Hardhat Network。
- Chisel:快速、实用且详细的 Solidity REPL。
安装 Foundry
首先安装Foundry 工具集:
curl -L https://foundry.paradigm.xyz | bash
执行之后产生的输出类似这样
然后执行:foundryup
来安装 Foundry
运行forge --version
看到版本号就说明安装成功了
初始化一个Foundry项目
forge init
运行之后得到的目录结构如:
其中src目录包含一个示例的Counter智能合约
编译合约
可以使用forge build
或者forge compile
编译合约
编译完成之后会产生一个output文件夹,output里面会包含合约的ABI等信息
启动anvil环境
Foundry内置的anvil可以创建一个本地节点用于部署智能合约
启动 Anvil 区块链:
anvil
启动之后会给我们几个账户和私钥:
在启动anvil之后可以看到rpc-url和private-key,下一步会用到:
接下来我们在本地部署智能合约
部署的命令如下:
forge create < name-of-your-contract > add < rpc-url > --interactive
比如:
forge create Counter add http://127.0.0.1:8545 --interactive
然后输入密钥即可部署成功
使用cast与智能合约进行交互
部署完成之后可以使用forge内置的cast命令与合约进行交互
命令的格式是:cast send <address> store(uint256) <values> --private-key your_key
我们使用setNumber设置一下number:
获取number: