-
涵盖课次
- lesson27:收益农场 Yield Farming(参考:
day27-YieldFarming.sol) - lesson28:去中心化治理 DAO(参考:
day28-DecentralisedGovernance.sol) - lesson29:稳定币 Stablecoin(参考:
day29-StableCoin.sol) - lesson30:迷你 DEX 工厂与交易对(参考:
day30-MiniDex/*)
- lesson27:收益农场 Yield Farming(参考:
-
核心知识点
- Staking/Rewards:质押记录 + 时间加权奖励;应对频繁进出与奖励精度的处理。
- 代币治理:基于 ERC20 权重的投票、法定人数(quorum)、时间锁(timelock)、提案押金退回。
- 稳定币锚定:超额抵押、价格预言机、铸造/赎回路径与比率管理、权限与角色控制。
- DEX 基础:工厂部署交易对、每对内维护储备与 LP 余额、0.3% 费率、滑点控制与储备更新。
-
代码要点与启发
- YieldFarming(
day27-YieldFarming.sol):-
updateRewards按timeDiff * rewardRate * staked / 10**decimals累积分配到rewardDebt;支持应急赎回与管理员补充奖励。 - 设计建议:
- 奖励源:需保证奖励代币余额充足;可加入“每秒发放上限/总预算”。
- 多池扩展:按“每块奖励 × 池权重 × 用户份额”模型(MasterChef 风格)扩展到多质押池。
- 经济安全:防止“闪电贷质押 → 立即提取奖励”攻击,加入最短质押时长/线性归属。
-
- 治理(
day28-DecentralisedGovernance.sol):- 提案含描述、截止、票数、执行目标/数据、执行时间;
finalizeProposal判断法定人数与票数,多数且达标则设置 timelock;executeProposal到时逐一call目标并退还押金。 - 设计建议:
- 快照与委托:为防投票期间转移代币影响权重,采用 ERC20Votes + 历史快照;允许投票委托。
- 执行安全:将执行权交由 TimelockController;限制提案能调用的目标与函数选择器白名单。
- 治理参数:法定人数、押金、投票时长应由治理修改并事件公告。
- 提案含描述、截止、票数、执行目标/数据、执行时间;
- 稳定币(
day29-StableCoin.sol):- 以外部抵押(任意 ERC20)+ Chainlink 喂价计算所需抵押数量;带
AccessControl的价格源管理与Ownable的抵押率调整;铸造/赎回两条路径配套视图函数。 - 设计建议:
- 清算机制:当前为最简锚定,缺少抵押金管理与清算;可记录每账户抵押份额与债务,支持超额抵押/清算人激励。
- 精度与四舍五入:涉及
decimals()与喂价精度;建议统一以 18 位内部单位计算并在界面换算。 - 预言机风险:引入冗余喂价(如 Chainlink 备用源/时间加权)并处理无效轮次与过期数据。
- 以外部抵押(任意 ERC20)+ Chainlink 喂价计算所需抵押数量;带
- Mini DEX(
day30-MiniDex/*):- 工厂
MiniDexFactory负责排序 token 并创建交易对;Pair 维护reserveA/B与 LP 余额(内部账本),按恒定乘积与 0.3% 手续费计算getAmountOut并支持swap、增/减流动性。 - 设计建议:
- LP 表征:当前 LP 仅映射存储,无法转移/集成;可改造为 ERC20 LP 代币,便于组合 DeFi(质押、抵押)。
- 储备更新:Pair 以
_updateReserves()读合约余额更新储备,简化且安全;前端需在大额交易前读取最新储备估价。 - 交易保护:加入
minOut/deadline,并在前端提示滑点与 MEV 风险;可加入协议费与停用开关。
- 工厂
- YieldFarming(
-
安全与工程化要点
- 奖励与精度:时间与代币精度相乘时注意溢出与精度损失;尽量采用 18 位内部单位。
- 治理执行:跨合约
call返回数据需要解释与错误传播;对失败交易应整体回滚以保持原子性(当前使用require(success, string(returnData)))。 - 稳定币资金:非托管场景需可提现多余抵押;记录系统总抵押/总负债,便于风控面板与清算逻辑。
- 迷你 DEX:防止“虚假转账”操纵,
swap前后以余额差更新储备;添加事件全面覆盖(已有)。
-
自测清单
- 你会如何将单池收益农场扩展为多池、多奖励代币版本?
- 在治理系统中,引入快照/委托/提案门槛各自解决了什么问题?
- 稳定币如何在极端行情下维持锚定?清算、罚金与折价参数如何设置?
- 在 Mini DEX 中,如何设计 LP 为 ERC20 并安全地支持转移与第三方集成?
第四周·总结二:收益农场、治理、稳定币与迷你 DEX2025-11-11
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 涵盖课次lesson22:去中心化彩票与 Chainlink VRF(参考:day22-Decentralized...
- 文章转自力场作者:CoinEx平台 作者:CoinEx商务大使之洛 一、 项目概况 Swerve是Curve的分叉...