链上ETF研发日志 #4:合约部署完成

这是我正在开发的链上 ETF 项目「BlockETF」的第四篇研发日志。

前三篇分别是:

  1. 链上ETF重启Day 1:重新出发,我终于开始写代码了
  2. 链上ETF研发日志 #2:智能合约开发完毕,测试准备中
  3. 链上ETF研发日志 #3:合约测试完成

我是从 7 月 27 日开始启动这个项目的,今天是第六天。截止撰文之时,合约已经部署到了测试网,意味着整个 DApp 项目的合约部分可以先告一段落了。

部署系统:AI 帮我打下了底层

这次的部署脚本、配置系统,基本是我把需求扔给了 Claude Code,由它生成一整套脚本,我再按需修改了几处。

现在这套部署系统包括了:

  • 一键部署脚本(./scripts/deploy.sh)
  • 自动地址管理(JSON + .env)
  • 合约验证脚本(Verify.s.sol)
  • 网络配置统一管理(NetworkConfig.s.sol)
  • 补了一份部署说明文档,主要写给未来的自己看

这部分没太花时间,Claude 给出的结构已经很接近我之前习惯的方式了。

合约模块小结

目前整个 BlockETF 合约系统一共拆成了 6 个模块,各自职责分明。

  1. BlockETFCore 主要负责 ETF 的铸造、赎回、总资产估值等核心逻辑。
  2. BlockETFRouter 提供给用户操作的入口,封装了使用单一代币投资赎回接口,使用更方便。
  3. RebalanceManager 实现了资产再平衡逻辑,支持触发时动态计算目标权重。
  4. DEXIntegrator 集成了 PancakeSwap V3,用于资产兑换。
  5. PriceOracle 基于 Chainlink PriceFeed 做价格计算,保证估值合理。
  6. FeeManager 统一管理赎回费和管理费,可配置上限,防止误设或恶意提取。

整体上,我希望每个模块都能独立工作、独立测试,不耦合太多。

测试覆盖情况

这次测试部分完成得出奇地快,所有测试代码全是 Claude Code 写的,写了 220 多个测试用例,而且覆盖率非常高,包括:

  • 核心逻辑流程验证
  • 各种边界输入和异常路径
  • 跨模块调用的状态一致性检查
  • 模拟用户视角的端到端操作流程

包括了单测、集成测试和 e2e 模拟用户操作流程,算是把合约部分该测的都测了。

安全性方面做的事

虽然并没有引入专业审计,但我在开发阶段就加了一些基础安全措施:

  • 使用 nonReentrant 防止重入攻击
  • 所有敏感操作都加了权限控制
  • 铸造/赎回都带滑点限制,防止交易价格被操控
  • 所有 fee 参数都设置了 max cap,防止超额提取

下一步计划

合约部分已经完成,并部署在测试网上。接下来我会开始搭前端,把用户交互的那一部分补上。

不知道 Claude Code 对前端这块能帮我提效多少呢,拭目以待吧。

相关推荐
怕浪猫4 小时前
小程序成长计划上新:10 亿 Token 现在能调 DeepSeek-v4.1-flash了
人工智能·aigc·ai编程
七牛云行业应用6 小时前
DeepSeek Super-agent 与 Grok Bot:开源 Agent 架构和聊天助手有何区别
人工智能·ai·架构·ai编程
高调的涵涵9 小时前
五个 Agent 工作区,worktrunk 实测
ai编程
qinglongcn10 小时前
Plan 从 DAG 退回线性清单——一个引擎设计教训
agent·ai编程
yz_aiks10 小时前
WorkBuddy 怎么做网页小游戏:深海钓鱼游戏 43 次对话、301 积分从一句话做到发布(附手机横屏踩坑)
人工智能·html5·ai编程·小游戏·workbuddy
jerrywus10 小时前
我用 GPT-6.1-sol 做了台会讲解的 3D 售货机:60 罐饮料,一口没喝上
前端·agent·claude
小碗细面12 小时前
Magpie 实战教程:一个本地网关,让 Claude Code 跑 Kimi、Codex 跑 DeepSeek
aigc·ai编程
濮水大叔12 小时前
AI Vibe Coding 实战(三):把 SMS 开发方案落成 Spec 文档
ai编程·claude·vibecoding
threerocks15 小时前
2027 年最赚钱的 AI 创业方向
aigc·openai·ai编程
aiks_yuan16 小时前
Postman 自动给 Claude Code、Codex、Cursor 装插件怎么查和卸载:本机实测 5 处痕迹(Postman 12.34)
claude