# Drips 已显示 stream 却收不到：核 account ID、额外精度与可接收周期

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/guides/drips-address-stream-cycle-receivable-check
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

用既有配置和结果区分发送者stream余额、已结束周期、当前周期与splittable，定位身份、单位或历史覆盖不足。

## 使用工具
- [Drips](https://lianxiaozhi.com/tools/drips) · [官方入口](https://docs.drips.network/the-protocol/overview/)

## 前置条件
- 准备本人/获授权的脱敏既有记录：链、Drips/driver地址、driverId、sender/receiver accountId、ERC20/decimals、StreamConfig、配置时间/余额及receive结果。没有结果时仅整理配置，不报告当前收款。
- 方法按固定V2代码07c3924及官方文档解释，未使用SDK、RPC、真实账户或签名；无需提供秘密或完整个人交易资料。

## 1. 先把钱包地址和 Drips account ID 分开

记录链和Drips实例，再找既有账户的driver类型/driverId。Drips账户是32字节ID；AddressDriver、NFTDriver、repository等各自认证和管理账户，不能只把钱包0x地址当所有模型完整ID。

固定AddressDriver计算(driverId<<224)|uint160(address)，中间64位为0；保存为完整hex或整数字符串，避免普通浮点Number精度丢失。文档ID0是例子，不从另一链或另一个实例照抄；原driverAddress=0成功返回代表未注册，读取失败则仍未知。

核对结果：链/实例、driver类型/ID与32字节accountId相符或差异明确。
依据：[Drips V2：account ID 与 driver](https://docs.drips.network/the-protocol/accounts-in-drips/)
依据：[Drips 固定 AddressDriver 身份与 collect](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/AddressDriver.sol)
依据：[Drips 固定核心只读与各阶段权限](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/Drips.sol)

## 2. 核每秒rate与余额两套精度

原StreamConfig中amtPerSec以token最小单位再加9位；例如已确认6位USDC，0.05 USDC/秒对应50000最小单位/秒，再编码为50000000000000。显示rate为rawRate÷10^9÷10^tokenDecimals。

balance、receivable等金额不多加9位，仍按token decimals显示。额外精度只在rate，不把wallet余额乘10^9。极小rate还需匹配部署minAmtPerSec（最小1个token unit/周期，不是1整币）；文档Ether例子的0.003/0.03文字矛盾不作为算例。

核对结果：rate、资产金额和最小token unit单位分别标明，无9位重复换算。
依据：[Drips：stream 额外精度与整数量](https://docs.drips.network/the-protocol/advanced/fractional-amounts)
依据：[Drips 固定 cycle 覆盖与接收结果](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/Streams.sol)
依据：[Drips 固定核心只读与各阶段权限](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/Drips.sol)

## 3. 核开始、持续时间和配置余额口径

从已有已解码配置取receiver accountId、start/duration和最后成功配置时间：未来start未到不会开始，duration相对设置的start；未设start时按配置时间。sender可改未来接收列表，不能改已经stream出的过去资金。

streamsState返回streamsHash/streamsHistoryHash、updateTime、balance、maxEnd；balance是上次配置时余额，不是现在wallet或当前可提余额。每ERC20的stream状态独立，不能用另一token的资金/哈希解释此stream；没有当前列表或历史时不能只按余额×秒数补造收款。

核对结果：实际生效配置/时间/资产范围清楚，配置余额未当现时钱包余额。
依据：[Drips 协议：资金阶段与周期](https://docs.drips.network/the-protocol/overview/)
依据：[Drips 固定核心只读与各阶段权限](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/Drips.sol)
依据：[Drips 固定 cycle 覆盖与接收结果](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/Streams.sol)

## 4. 区分已结束周期接收和当前周期 squeeze

保存既有部署cycleSecs及同一时点区块timestamp。固定cycle按timestamp/cycleSecs+1划分；receiveStreams只处理已经结束周期。不要把App月度结算日、一天或一周默认当协议所有部署cycle长度。

当前cycle需squeezeStreams路径，按token和sender分别提供完整配置history；它是改变状态且更费Gas，不是免费刷新或只读查看。没有历史/结果时可标“当前周期尚未接收”，不能通过重复receive或随意删历史宣称已收到。

核对结果：结束周期、当前周期和应用结算安排分开，未知cycle参数不硬套默认。
依据：[Drips 协议：资金阶段与周期](https://docs.drips.network/the-protocol/overview/)
依据：[Drips 固定 cycle 覆盖与接收结果](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/Streams.sol)

## 5. 检查 maxCycles 覆盖与 receive 阶段结果

已有receivableStreamsCycles(accountId,erc20)为可处理周期数；receiveStreamsResult(accountId,erc20,maxCycles)只是view估计。maxCycles小可能未覆盖全部历史，大可能Gas过高；0估计还可能因当前周期、已接收或输入不匹配，不单独证明无人stream。

只有已有成功receiveStreams记录才把receivedAmt列为进入splittable；它尚未进wallet，split/collect仍是后续阶段。将估计、成功receivedAmt、剩余历史和splittable快照分列，并保留读取时点，避免把前后不同配置结果拼成精确余额。

核对结果：估计与已执行receive区分，覆盖不足和无当前周期金额未写资金消失。
依据：[Drips 固定核心只读与各阶段权限](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/Drips.sol)
依据：[Drips 固定 cycle 覆盖与接收结果](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/Streams.sol)
依据：[Drips 协议：资金阶段与周期](https://docs.drips.network/the-protocol/overview/)

## 6. 按原执行记录排查暂停或配置过期

如果stream由Safe管理，旧暂停/修改proposal本身不生效；以执行确认时间为准，计划start与实际确认较晚者限制开始。源配置在proposal之后变动，涉及相同ERC20的旧currReceivers可能过期，不能仅用提案时间算流量。

汇总ID、token、rate、配置/周期、view结果、receive执行和下一阶段状态。协议FAQ无用户费用仍有Gas，赞助仅明确条件；失败/null不写zero或已退款。没有原回执时保持未确认，不创建stream、squeeze或新配置来验证。

核对结果：原因定位至身份/单位/周期/配置/执行或明确未知，未自动推wallet到账。
依据：[Drips Safe：执行时点与配置过期](https://docs.drips.network/advanced/usage-with-a-safe/)
依据：[Drips 协议费与收款兼容](https://docs.drips.network/faq/)
依据：[Drips 固定 AddressDriver 身份与 collect](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/AddressDriver.sol)
依据：[Drips 协议：资金阶段与周期](https://docs.drips.network/the-protocol/overview/)

## 常见错误
- 额外9位只在amtPerSec；保存大整数，accountId不能用浮点Number。
- receive结果进splittable，钱包没转账不证明资金丢失；Safe proposal不等执行。

## 完成检查
- 账户身份、rate/金额单位、配置时间与周期覆盖可复核，view与已执行receive分列。
- 仅静态官方方法核验；未读取实时状态、接收/squeeze、钱包或资金。

## 相关知识
- [原始、解码和整理后的链上数据有什么区别？](https://lianxiaozhi.com/learn/raw-decoded-curated-data)
- [把数据上链，与只保存数据哈希有什么区别？](https://lianxiaozhi.com/learn/data-onchain-vs-offchain)
- [Gas 怎么计算？交易失败为什么仍可能扣费](https://lianxiaozhi.com/learn/gas-and-failed-transactions)

## 官方依据
- [Drips V2：account ID 与 driver](https://docs.drips.network/the-protocol/accounts-in-drips/)
- [Drips 固定 AddressDriver 身份与 collect](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/AddressDriver.sol)
- [Drips 固定核心只读与各阶段权限](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/Drips.sol)
- [Drips：stream 额外精度与整数量](https://docs.drips.network/the-protocol/advanced/fractional-amounts)
- [Drips 固定 cycle 覆盖与接收结果](https://raw.githubusercontent.com/drips-network/contracts/07c39242edfe3c3ea6fad5808fd8f92b5e48a715/src/Streams.sol)
- [Drips 协议：资金阶段与周期](https://docs.drips.network/the-protocol/overview/)
- [Drips Safe：执行时点与配置过期](https://docs.drips.network/advanced/usage-with-a-safe/)
- [Drips 协议费与收款兼容](https://docs.drips.network/faq/)
