核心用法
Superfluid Skill 是一套面向流支付协议(Money Streaming)的全栈开发知识库,覆盖智能合约、前端 SDK、脚本查询三大开发轨道。开发者可根据角色选择路径:
- 智能合约开发:基于
SuperTokenV1Library与CFASuperAppBase构建 Super App,利用 Host 路由调用 CFA/GDA 协议层,或通过MacroForwarder实现原子批处理操作。 - 应用开发:使用
@sfpro/sdk获取 wagmi hooks、地址与 ABI,配合 Subgraph 与 API 服务查询流状态、历史事件与实时余额。 - 一次性调查:通过
bunx脚本(balance.mjs、metadata.mjs等)快速获取链上数据,无需搭建完整项目。
协议架构以 Host 为中心路由器,管理 Super Token 工厂、应用注册与治理;Agreement 层提供无状态的 CFA(1:1 流)、GDA(多对多池化分发)与已弃用的 IDA;Super Token 作为 ERC-777/ERC-2612 扩展,支持实时余额与 18 位固定精度。Forwarder 合约提供用户友好的封装,但不可批量调用;需原子性时使用 Host.batchCall。
显著优点
- 权威数据源:直接引用
@superfluid-finance/ethereum-contracts与官方 npm 包,ABI 与地址随主网升级同步维护。 - Rich ABI YAML 格式:每个合约函数配备
notes字段,标注非显而易见的行为(如 GDA 分配舍入、SuperTokenV1Library 的address(this)隐式发送者),大幅降低调试成本。 - 多轨道映射:清晰区分合约、应用、脚本三种场景,避免开发者误入冗余文档。
- 完整错误码索引:按合约前缀(
CFA_*、GDA_*、HOST_*等)快速定位 revert 原因,YAML 中按执行顺序排列错误优先级。 - 实时与历史数据分离:明确指导何时使用 RPC/
cast call(实时余额)vs Subgraph(历史索引),避免数据滞后导致的开发陷阱。
潜在缺点与局限性
- 学习曲线陡峭:协议涉及 Host-Agreement-Token 三层架构、Super App 回调生命周期、App Credit 与 Jailing 机制,初学者需消化大量概念。
- GDA 连接池限制:单账户每代币最多 256 个连接池,超出需手动 claim,且
balanceOfgas 随连接数线性增长。 - Super App 组合限制:
CFASuperAppBase硬编码为APP_LEVEL_FINAL,无法嵌套调用下游 Super App;需自定义APP_LEVEL_SECOND并显式授权。 - Pool 不可嵌套:GDA 池不能作为另一池的成员,限制复杂分红架构设计。
- FluidLocker 解锁惩罚:即时解锁(0 天)面临 80% 惩罚,且需支付 0.0001 ETH 解锁费,资金效率损耗显著。
适合人群
- DeFi 协议开发者:需集成实时流支付(如工资、订阅、 vesting)或构建可编程现金流的原语。
- 智能合约安全研究员:深入分析 Host 路由、App Credit 机制与清算(Sentinel)博弈。
- 前端工程师:使用
@sfpro/sdk与 Subgraph 构建流管理仪表盘、实时余额展示与历史查询界面。 - 自动化策略开发者:编写 Macro 合约实现复杂批处理,或运行 Sentinel 节点参与清算拍卖。
常规风险
- 流资金耗尽与清算:发送方余额归零后,Sentinel 可执行清算,发送方押金被没收。协议依赖链下 keeper 经济激励保持偿付能力。
- 舍入与精度陷阱:GDA
distributeFlow按整数除法分配,余量流向池管理员;若请求流量小于总单位数,成员实际接收为零。 - Token 升级误解:
upgrade/downgrade金额固定 18 位,与底层 ERC-20 精度无关,易在 USDC 等 6 位精度代币集成时产生数量级错误。 - 回调重入与 Jailing:Super App 回调逻辑若未正确处理
ctx或违反 app rule,将被 Host 监禁(jail),导致流中断。 - 中心化风险:自动化合约(Vesting/Flow Scheduler)依赖官方 allowlist 与 keeper 网络,未获允许列表的自动化无法触发。