第四周·总结二:收益农场、治理、稳定币与迷你 DEX2025-11-11

  • 涵盖课次

    • lesson27:收益农场 Yield Farming(参考:day27-YieldFarming.sol
    • lesson28:去中心化治理 DAO(参考:day28-DecentralisedGovernance.sol
    • lesson29:稳定币 Stablecoin(参考:day29-StableCoin.sol
    • lesson30:迷你 DEX 工厂与交易对(参考:day30-MiniDex/*
  • 核心知识点

    • Staking/Rewards:质押记录 + 时间加权奖励;应对频繁进出与奖励精度的处理。
    • 代币治理:基于 ERC20 权重的投票、法定人数(quorum)、时间锁(timelock)、提案押金退回。
    • 稳定币锚定:超额抵押、价格预言机、铸造/赎回路径与比率管理、权限与角色控制。
    • DEX 基础:工厂部署交易对、每对内维护储备与 LP 余额、0.3% 费率、滑点控制与储备更新。
  • 代码要点与启发

    • YieldFarming(day27-YieldFarming.sol):
      • updateRewardstimeDiff * 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 备用源/时间加权)并处理无效轮次与过期数据。
    • Mini DEX(day30-MiniDex/*):
      • 工厂 MiniDexFactory 负责排序 token 并创建交易对;Pair 维护 reserveA/B 与 LP 余额(内部账本),按恒定乘积与 0.3% 手续费计算 getAmountOut 并支持 swap、增/减流动性。
      • 设计建议:
        • LP 表征:当前 LP 仅映射存储,无法转移/集成;可改造为 ERC20 LP 代币,便于组合 DeFi(质押、抵押)。
        • 储备更新:Pair 以 _updateReserves() 读合约余额更新储备,简化且安全;前端需在大额交易前读取最新储备估价。
        • 交易保护:加入 minOut/deadline,并在前端提示滑点与 MEV 风险;可加入协议费与停用开关。
  • 安全与工程化要点

    • 奖励与精度:时间与代币精度相乘时注意溢出与精度损失;尽量采用 18 位内部单位。
    • 治理执行:跨合约 call 返回数据需要解释与错误传播;对失败交易应整体回滚以保持原子性(当前使用 require(success, string(returnData)))。
    • 稳定币资金:非托管场景需可提现多余抵押;记录系统总抵押/总负债,便于风控面板与清算逻辑。
    • 迷你 DEX:防止“虚假转账”操纵,swap 前后以余额差更新储备;添加事件全面覆盖(已有)。
  • 自测清单

    • 你会如何将单池收益农场扩展为多池、多奖励代币版本?
    • 在治理系统中,引入快照/委托/提案门槛各自解决了什么问题?
    • 稳定币如何在极端行情下维持锚定?清算、罚金与折价参数如何设置?
    • 在 Mini DEX 中,如何设计 LP 为 ERC20 并安全地支持转移与第三方集成?
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容