从0开始学区块链第10天—— 写第二个智能合约 FundMe

在第三课,你将会编写第二个智能合约 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 区块链浏览器中对合约进行验证

相关推荐
磐链科技7 小时前
Web3钱包开发扩展比特币生态:BRC20与Runes协议的集成实践
web3
磐链科技13 小时前
Web3钱包安全架构设计:抵御攻击与防护策略
安全·web3·安全架构
2601_9620725019 小时前
CBCX:电力需求增长考验电网容量
区块链
IvorySQL3 天前
PostgreSQL 日报|内核多项缺陷修复与数据校验补丁推进(8 月 27 日)
数据库·postgresql·区块链
zhanghaha13143 天前
Python进阶教程:19_量化交易 零基础超详细入门教程
区块链
mykj15514 天前
Web3开发系统不是炒币,是互联网的“对账本”逻辑
web3·区块链·rwa·钱包区块链系统开发
MartinYeung54 天前
Uniswap v4 许可池:重塑 DeFi 流动性管理的范式革命
人工智能·区块链
MartinYeung55 天前
[论文学习]智能合约不变式防御网络犯罪
网络·学习·智能合约
磐链科技5 天前
智能合约开发中的Layer2适配:Rollup、侧链与状态通道实践
区块链·智能合约
Richown6 天前
Three.js 供应链三维可视化:全球物流轨迹、库存热力图与数字孪生的交互呈现
区块链·react