从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 区块链浏览器中对合约进行验证

相关推荐
Richown4 小时前
全链路追踪:OpenTelemetry与Jaeger实战
区块链·react
Richown9 小时前
容器编排:Kubernetes高级调度策略
区块链·react
IvorySQL11 小时前
开源共建分论坛圆桌讨论:如何真正融入 PostgreSQL 社区?
postgresql·开源·区块链
m0_3801671412 小时前
CoinGlass API vs Glassnode:全面对比分析
人工智能·ai·区块链
多年小白12 小时前
复盘】2026年5月21日(周四)
大数据·人工智能·ai·金融·区块链
Maimai1080813 小时前
React Query + Zustand 正确结合方式:不要把接口数据复制进 Store
前端·javascript·react.js·前端框架·web3·状态模式
kels889914 小时前
实时外汇api的节假日交易时间表,能自动判断休市吗?
开发语言·经验分享·笔记·python·金融·区块链
IT大白鼠15 小时前
网络发展简史:从ARPANET到Web3.0的技术演进与社会影响
网络·web3
Richown15 小时前
自动化运维:Ansible与基础设施即代码
区块链·react
Richown16 小时前
微服务监控:Prometheus与Grafana实战
区块链·react