BlockLever实战营日志 #3 | 合约开发阶段

65 阅读9分钟

这是我们研发「BlockLever」的第 3 篇研发日志,前两篇如下:

过去大半个月虽然没有对外更新日志,但 BlockLever 的研发从未停下。在实战营内部,每一节课结束后,我们都会产出对应的「当天研发日志」,目前课程已经推进到 第 17 节,也就意味着内部已经形成了 17 天的研发记录

中间偶尔会有休息日,但整体节奏始终在稳步向前。因此,虽然外部更新暂时中断了一段时间,内部的研发却一直在高速推进。

本篇第 3 篇,我会把过去这段时间与「合约开发」最核心、最值得公开分享的部分整理出来,继续向大家同步 BlockLever 的最新进展。

研发成果

先和大家分享一下,到目前为止「BlockLever」已经完成并沉淀下来的研发成果。这些内容都是过去几周真实推进的产出。

一、研发过程沉淀(带时间线的真实推进)

  • 17 篇内部研发日志
  • 17 个完整录制视频

每一节课结束后,我们都会同步当天的研发记录,因此虽然外部更新暂停了一段时间,但内部节奏一直在持续推进。

二、产品与系统设计文档(两轮大迭代)

  • PRD(产品需求文档) v1 & v2
  • TAD(技术概要设计文档) v1 & v2
  • 杠杆机制详细设计文档
  • 借贷方案设计文档
  • 智能合约接口详细设计文档
  • 费用模型设计与计算指南

这些文档构成了 BlockLever 的“完整系统蓝图”,从需求到架构,从机制到链上接口全部覆盖。

三、测试体系(已建立基础测试框架)

  • 3 份测试用例文档(对应于 3 个合约)
  • 268 个自动化测试用例(已实现)

这些测试不是在最后补写的,而是贯穿整个研发过程自然累积而成。

四、我们采用了 TDD(测试驱动开发)模式

值得特别说明的是,BlockLever 从一开始就采用了 TDD(Test-Driven Development)测试驱动开发模式

  • 先定义逻辑与边界
  • 再编写测试用例
  • 最后实现合约并让其通过所有测试

这种方式让逻辑在“编码前就被验证”,能最大程度减少链上不可逆的风险,并为后续迭代提供明确的安全边界。

268 个测试用例 也是在这种模式下自然累积下来的成果。

五、智能合约开发进度(核心逻辑已成型)

  • 4 个核心合约中已有 3 个完成开发
  • 剩余 1 个正在收尾中

接下来要进行的是:

  • 各合约模块的交互整合
  • 测试网部署
  • 完整的端到端流程测试(integration test)

也就是说,核心能力已经基本成型,但主流程尚未完全打通。下一阶段将专注于整合、联调与参数调优。

机制设计

产品定位

BlockLever」的定位是 面向现货投资者的收益增强工具。通过聚合借贷协议与 DEX,它在链上提供 1–3 倍的轻杠杆策略,让用户依旧以现货思维投资,却能获得更高收益,而无需理解复杂的杠杆概念。

现货化语言

传统杠杆交易充满「开多 / 开空 / 保证金」等期货术语,对普通现货投资者并不友好。因此 BlockLever 将这些操作全部重新“翻译”为现货化语言:

期货术语BlockLever 语言含义
开多 / Long买入(放大仓位)看涨资产,借钱买更多
开空 / Short卖出(反向建仓)看跌资产,借币卖出
平多卖出平仓卖掉资产,归还借款
平空买入平仓买回资产,归还借币

用户只需思考一句话:“我想买入还是卖出?” 剩下的借贷、兑换、抵押等复杂步骤,都由 BlockLever 自动完成。

运作方式:两条简单的收益增强路径

① 买入增强:看涨时放大收益

当你看好某资产(如 ETH)时,可以使用「买入」功能:

  1. 用户投入 1000 USDT 本金
  2. BlockLever 自动借入 1000 USDT
  3. 合计 2000 USDT 买入 ETH
  4. 所有 ETH 存入借贷协议作为抵押品
收益场景:ETH 涨 10%
  • 普通现货:1000 → 1100(+100)
  • BlockLever 2x:2000 → 2200,扣除还款 1000,剩余 1200(+200)
风险场景:ETH 跌 10%
  • 普通现货:1000 → 900(-100)
  • BlockLever 2x:2000 → 1800,扣除还款 1000,剩余 800(-200)

收益与风险同步放大,但逻辑与现货一致,不涉及期货的复杂规则。

② 卖出增强:看跌时也能获利

当你看跌某资产(如 ETH)时,可以使用「卖出」功能建立空头仓位。

  1. 用户投入 1000 USDT 本金
  2. BlockLever 自动借出价值 2000 USDT 的 ETH
  3. ETH 在 DEX 卖出换成 USDT
  4. 卖出所得 + 本金 一起存入借贷协议作为抵押品
收益场景:ETH 跌 10%
  • 借出的 ETH 现在只需 1800 USDT 就能买回
  • 归还借币后,剩余 200 USDT 作为利润

本质逻辑:

借 ETH → 卖 ETH → 等价格下跌 → 买回更便宜的 ETH → 归还 → 赚取差价。

底层基础设施:构建于成熟协议之上

BlockLever 所有杠杆策略都构建在成熟的链上基础设施之上:

  • 借贷部分依托 Venus Protocol
  • 兑换与价格执行通过 PancakeSwap V3

BlockLever 本身不托管资产,也不重造轮子,而是在这些成熟协议之上做策略层封装,让用户以最简单的方式完成原本复杂的链上操作。

清算机制:由借贷协议负责

无论是买入增强还是卖出增强,BlockLever 的仓位本质上都建立在借贷协议(Venus)的抵押借贷之上:

  • 用户的资产作为抵押物
  • 根据抵押额度借出目标资产
  • 市场价格波动影响抵押率

当抵押率下降到借贷协议的最低要求以下时:

清算由借贷协议直接执行,BlockLever 的 MVP 版本不会额外创建自己的清算层,也不会替用户做“提前平仓”。

换句话说:

  1. 借贷协议持续监控仓位的抵押率
  2. 当抵押不足时执行链上强制清算
  3. 卖出抵押品、偿还借款
  4. 剩余资产返还给用户(如果有)

整个过程是:

  • 链上透明
  • 不依赖中心化风控
  • 不涉及资金托管
  • 与底层协议保持一致行为

BlockLever 的角色只是:

帮助用户用更简单的方式建立仓位;风险边界由借贷协议负责判定与执行。

合约架构

合约架构图

整个系统的合约架构如下:

image-20251123093700015.png

核心模块说明

BlockLever 协议主要分为了 4 个核心模块。

1. BlockLeverRouter(交易路由)

用户交互的统一入口,负责协调整个交易流程:

  • 接收用户的买入/卖出请求
  • 通过闪电贷获取所需资金
  • 调用 DEX 完成代币兑换
  • 调用 UserAccount 完成借贷操作
  • 处理滑点保护和交易验证

2. AccountFactory(账户工厂)

管理用户账户的创建和配置:

  • 使用 EIP-1167 最小代理模式创建账户(节省 gas)
  • 管理账户版本,支持无缝升级
  • 配置全局费率参数
  • 指定手续费收集地址

3. AssetRegistry(资产注册表)

管理平台支持的资产及风险参数:

  • 维护资产与 vToken 的映射关系
  • 设置每种资产的最大杠杆倍数
  • 配置最小本金要求
  • 根据抵押因子计算安全杠杆上限

4. UserAccount(用户账户)

每位用户独立的账户合约:

  • 与 Venus Protocol 交互(存款、借款、还款、赎回)
  • 管理多个资产的仓位状态
  • 计算交易费和持仓费
  • 监控账户健康因子

下一步计划

目前 BlockLever 的核心能力已经基本成型,但距离真正能跑通完整链上流程,还有几个关键环节需要打磨。接下来的研发重点主要包括:

1. 完成剩余的第 4 个核心合约

这是整个内部架构的最后一块拼图,完成后所有模块将具备可联调的基础。

2. 模块整合与联调(Integration)

把 Router、UserAccount、AssetRegistry、Factory 全部串联起来,跑通:

  • 买入增强完整流程
  • 卖出增强完整流程
  • 平仓流程
  • 闪电贷 + 借贷 + Swap 的组合调用

这是将所有设计变成“真正可用功能”的关键阶段。

3. 测试网部署(Testnet Deployment)

在 BNB Chain 测试网部署:

  • 全套核心合约
  • Mock 环境的 Swap 模拟
  • 闪电贷回调验证

确保所有跨合约交互在真实链上都能稳定运行。

4. 端到端测试(End-to-End Flow)

重点验证:

  • 抵押率计算是否正确
  • 价格波动时是否能够保持足够的安全边界
  • 费用计算是否与预期一致
  • 借贷与 Swap 的异常回滚是否安全

这是正式上线前最重要的安全保障。

5. 参数调优(Risk & Fee Tuning)

包括:

  • 最大杠杆倍数
  • 安全边际
  • 滑点保护
  • 交易费与持仓费
  • 清算风险边界

调到合理范围后,BlockLever 的整体风险敞口和用户体验才会真正趋于稳定。


参考阅读: