Backpack 手机签名后为何没有交易:先区分签名回调与广播
链小知 · 进阶 · 核验 · 依官方文档整理
按已有deep-link方法和回调字段核签名、提交及链上确认,避免重复发送。
开始前准备
- 面向钱包集成与故障排查:准备已有脱敏方法名、回调字段名称、网络和错误码;不提交deep-link或请求签名。
- 不提供payload、nonce、完整session或加密私钥;实际客户端/硬件钱包版本与方法资格未测试。
1. 先核已调用的方法
SignTransaction只返回已签名序列化交易,明确不会提交;SignAllTransactions同样不提交。SignAndSendTransaction由Backpack签名后提交,返回第一条签名作为transaction id。
检查结果:方法名与预期阶段一致,没有仅签名却标成已发送。
2. 按回调字段判断阶段
SignTransaction的解密结果字段是transaction,SignAndSendTransaction为signature;Reject会通过errorCode/errorMessage返回。只核已有回调摘要,不能把有data或nonce视为业务成功。
缺回调时记录未知,不自动生成另一笔请求或重复广播原交易。
检查结果:结果分为签名数据、发送标识、明确拒绝或未知。
3. 把提交与确认单独列证据
SignAndSend帮助把构造、签名提交、可选等待Solana RPC确认分成步骤。signature可定位交易,并不单凭该字段证明区块确认或应用入账。
对已有记录按网络对应签名与独立确认/错误结果;没有网络确认记录时只写已返回标识。
检查结果:签名/提交标识/链上确认/平台入账分别记,未凭标识认定完成。
4. 不要把URL版本号当交易格式支持
官方deep-link基址含/ul/v1,但这是调用路径名称;所读方法正文没有逐客户端Solana交易格式支持矩阵。不能凭该路径或一篇10月媒体公告推断每个安装版本、设备或硬件账户都可签Solana v1。
遇到-32003保留无效交易错误与原格式线索;未核支持范围前不能确定是版本不支持、序列化错误还是其他问题。
检查结果:保留实际客户端版本和交易格式未知项,未将URL路径v1当签名支持证据。
怎样确认完成
- 形成方法→回调字段→提交标识→确认状态对照。
- 没有签名、广播、RPC实测或客户端v1兼容性验收。
常见错误与边界
- 签名交易和session可能含敏感或可重放内容,共享记录只保留脱敏字段和状态。
- 教程仅覆盖所读手机deep-link方法;不泛化到浏览器provider、Exchange托管交易或AI Search。