| 现象 | 常见原因 | 处理 |
blob_id 在 aggregator 上 404 | 网络混用、Blob 过期、ID 截断 | 确认 network,查链上对象和 end_epoch |
| CLI 报协议或序列化错误 | CLI 与目标网络版本不匹配 | Mainnet 用 mainnet-v1.47.1,Testnet 用 testnet-v1.47.1 |
| devnet 示例在 mainnet 失败 | 使用了预发布配置 | Devnet devnet-v1.48.0 不要迁移到稳定网络 |
| Sui 查不到对象 | RPC 落后或 active env 错误 | sui client active-env,换 RPC 后重查 |
| 现象 | 常见原因 | 处理 |
| 上传超时 | publisher 忙、文件过大、网络慢 | 查 upload job 和 tx digest,避免盲目重传 |
| 余额不足 | sponsor 或用户钱包缺 WAL/SUI | 补余额,降低保存期或文件大小 |
| 小文件成本偏高 | 每个文件单独上传 | 用 Quilt 或应用层打包 |
| 上传成功但列表不显示 | 索引器落后 | 用 tx digest 查链,检查 checkpoint lag |
| 现象 | 常见原因 | 处理 |
| 偶发 5xx | aggregator 或上游节点波动 | 重试、切备用 aggregator |
| 下载内容和预期不符 | 业务对象引用已更新、缓存旧内容 | 校验业务哈希,URL 带版本或内容 ID |
| 大文件下载中断 | 超时、代理限制、出口带宽 | 使用 Range、流式代理、调整超时 |
| 前端 CORS 报错 | aggregator 或网关未配置跨域 | 通过应用后端代理或配置允许来源 |
| 现象 | 常见原因 | 处理 |
| Move 发布失败 | Move.toml 包地址占位未替换 | 从当前网络官方配置替换 Walrus package ID |
交易 abort E_NOT_OWNER | 调用者不是业务对象 owner | 用正确钱包签名或走授权入口 |
| 事件重复入库 | 重试或重放 checkpoint | 用 tx_digest + event_seq 幂等去重 |
| 旧 Blob 覆盖新 Blob | 没比较对象版本 | 落库前检查 object_version |
| 现象 | 常见原因 | 处理 |
| 私密文件被公开访问 | 明文上传到公开 Blob | 上传前加密,使用 Seal 或密钥服务控制解密 |
| 日志泄露敏感信息 | 打印文件名、blob_id、明文哈希 | 脱敏日志,限制日志访问 |
| API 费用异常 | publisher/aggregator 无限制 | 用户鉴权、限流、预算上限、异常流量封禁 |
walrus --version
walrus info
sui --version
sui client active-env
sui client object <BLOB_OBJECT_ID>
sui client tx-block <TX_DIGEST>
如果命令输出的网络、版本、对象 ID 不属于同一环境,先修正环境,不要继续排应用代码。