在完成核心合约开发与基础单元测试后,我们对 BlockLever 项目的文档体系进行了系统性梳理,形成了从产品定义到技术实现的完整文档闭环,为后续的集成测试与前端开发奠定了坚实基础。
核心文档体系
通过本次梳理,我们构建了当前阶段最为关键的几份文档:
- 产品需求文档(PRD v3)
- 技术架构文档(TAD v4)
- AssetRegistry 详细设计文档
- AccountFactory 详细设计文档
- UserAccount 详细设计文档
- BlockLeverRouter 详细设计文档
这些文档基于最新的设计思路与已完成的核心合约代码迭代而成,清晰地勾勒出项目的整体轮廓。
产品需求文档(PRD v3):从用户视角定义产品
新版 PRD v3 明确了 BlockLever 的产品定位:让现货投资者使用熟悉的“买入/卖出”操作,即可获得 1-3 倍的温和杠杆收益。
文档完全从用户需求与体验出发,聚焦于:
- 目标用户与痛点分析:明确了产品服务的对象及其核心需求。
- 差异化定位:阐述了与永续合约 DEX 及现货钱包的区别。
- 核心交易流程:定义了做多、平多、做空、平空四大关键操作。
- 风险管理功能:包括追加本金与提前还债机制。
- 信息展示规则:详细说明了“我的资产”页面结构、风险等级展示及所有操作前的预览信息(投入、借入、盈亏、清算价等)。
- 术语映射:将复杂的期货术语转换为现货投资者易于理解的语言。
- 产品边界:明确了风险提示、费用规则、成功指标及 MVP 范围。
这份文档标志着 BlockLever 的设计从工程实现层面向用户产品层面的跨越,为后续的前端框架/工程化开发和用户体验设计提供了清晰的蓝图。
技术架构文档(TAD v4):确立可扩展的工程框架
TAD v4 确立了 BlockLever 采用的 Per-Asset Account(每资产独立账户)架构。该架构下,每个用户针对每一种支持的资产都会拥有一个独立的 UserAccount 智能合约实例,实现了:
- 风险隔离:一种资产的仓位清算不会影响其他资产。
- 位置独立:每种资产的抵押与债务独立核算。
- 并行操作:用户可以同时对资产A做多、对资产B做空。
- 便于升级:账户合约可以按资产进行单独迁移与升级。
文档详细阐述了核心合约的职责与交互:
- BlockLeverRouter:用户所有操作的统一入口。
- AccountFactory:负责账户的创建、模板升级与费率管理。
- AssetRegistry:管理支持资产列表、vToken映射、最大杠杆倍数等核心配置。
- UserAccount:与 Venus 借贷协议交互,执行具体的抵押、借贷、赎回等操作。
此外,文档还涵盖了完整的合约调用关系图、Flash Swap 执行流程、基于 EIP-1167 的最小化代理部署模式、费用机制、健康因子计算方式以及预览查询方法设计。TAD v4 相当于一份工程级的技术白皮书,为系统的可扩展性与可维护性提供了保障。
合约模块详细设计文档
在顶层文档指导下,我们对四个核心合约模块进行了详细的工程设计说明。
1. AssetRegistry:资产配置中枢
作为协议的基础规则引擎,AssetRegistry 管理所有可交易资产的配置,包括资产列表、对应的 vToken、基于 Venus 抵押因子计算出的最大安全杠杆倍数、最小本金要求等。它确保了协议交易规则的严谨性与安全性,所有资产上线前均需通过严格的验证流程。
2. AccountFactory:账户生命周期管理者
该工厂合约负责 Per-Asset 账户体系的创建与维护。其技术亮点包括:
- 采用 EIP-1167 Minimal Proxy 模式创建账户,将部署 Gas 成本从约 500k 大幅降低至约 45k。
- 集中管理交易费、持仓费等协议费率。
- 支持安全的模板升级机制,要求用户平仓后方可升级账户逻辑。
3. UserAccount:仓位执行引擎
这是用户仓位实际存在的地方,每个合约实例管理对应资产的抵押品、债务、vToken余额及健康因子。文档详细描述了supplyAssetAndBorrowUSDT(做多开仓)、repayUSDTAndRedeemAsset(做多平仓)等核心函数的执行逻辑,以及与 Venus 协议的交互细节。通过地址缓存等优化策略,有效降低了操作 Gas 消耗。
4. BlockLeverRouter:交易总控与协调者
Router 是用户与协议交互的主要入口,承担着协调 Flash Swap 与 Venus 操作的核心职责。它确保每一笔交易都经过资产规则校验、滑点保护,并在开仓后满足最低健康因子要求。同时,它提供所有交易的预览查询功能,是连接用户前端与底层合约的关键纽带。
模块化架构总结
四个模块各司其职,构成了清晰的分层体系:
- AssetRegistry(规则层):定义“能交易什么,规则如何”。
- AccountFactory(账户层):负责“创建并管理账户”。
- UserAccount(仓位层):执行“具体的持仓与借贷操作”。
- BlockLeverRouter(操作层):协调“完整的用户交易流程”。
这一设计使 BlockLever 协议具备了强大的可扩展性、优秀的风险隔离能力和可维护的模块化结构,达到了生产级后端与架构的标准。
下一步:迈向系统化工程阶段
随着产品需求、技术架构及合约详细设计的全面完善,BlockLever 的开发正式从“合约实现阶段”进入“系统化工程阶段”。接下来的工作重点将转向:
- 集成测试环境搭建:在模拟真实链上环境中进行端到端的协议测试。
- 前端 MVP 开发:将链上合约功能转化为可交互的用户界面,完成产品闭环。
这将是项目从“技术可行”迈向“产品可用”的关键一步。
|