在第三课,你将会编写第二个智能合约 FundMe,通过编写和学习这个智能合约中,我们将会学习到如何在一条区块链上发送原生token给一个合约,记录转账信息,如何提取收集的token,如何设置时间锁。
在这一课中,将完成以下合约:
FundMe.sol合约:该合约是募集资金的合约,通过函数来接受funder的ETH
FundMe_flattened.sol合约:该合约是FundMe合约的flatten版本,可以通过 Remix flatten 插件生成,用于EtherScan上的合约验证
FundMeToken.sol合约:该合约是带有基本功能的 Token 合约
FundMeTokenWithBurn.sol合约:该合约继承FundToken合约,并且增加了burn函数
FundMeTokenERC20.sol合约:该合约是继承Openzeppelin ERC20标准的 FundToken 合约
FundMeTokenERC20_flattened.sol合约:该合约是FundMeTokenERC20合约的flatten版本,可以通过 Remix flatten 插件生成,用于EtherScan上的合约验证
如何使用
编译并且部署 FundMe.sol 合约
打开 Remix
新建一个文件,并且命名为 FundMe.sol
点击 Compile
通过 metamask 领取 SepoliaETH
选择 injected provider,点击 Deploy
在 remix 中,右键点击合约名称,选择 flatten
在 sepolia 区块链浏览器中对合约进行验证
编译并且部署 FundMeToken.sol合约
新建一个文件,并且命名为 FundMeToken.sol
点击 Compile
点击 Deploy
在 remix 中,右键点击合约名称,选择 flatten
在 sepolia 区块链浏览器中对合约进行验证
编译并且部署 FundMeTokenERC20.sol合约
新建一个文件,并且命名为 FundMeTokenERC20.sol
点击 Compile
在 remix 中,右键点击合约名称,选择 flatten
在 sepolia 区块链浏览器中对合约进行验证