跳到正文
← 使用教程

Backpack 换账户或网络后请求失败:核会话身份和错误码

链小知 · 进阶 · 核验 · 依官方文档整理

按Connect与Handling Sessions核当前账户/链/cluster,区分拒绝、未授权和请求冲突。

开始前准备

  • 准备已有集成日志中的脱敏账户对应关系、方法、chain/cluster和错误码;不分享session值、nonce或payload。
  • 本页只核已有记录,不重新连接、不切换网络、不安装钱包或再次发送请求。

1. 确认记录来自同一次Connect

Connect返回public_key与用于后续调用的session;加密公钥wallet_xxx与用户public_key是不同字段,不能互相当钱包地址。后续方法必须对应原Connect的加密公钥和session。

检查结果:用户地址身份与加密公钥分开,原Connect关联可追溯且已脱敏。

2. 核chain和cluster而非只看地址

Connect的cluster默认/未设为Solana mainnet-beta,Eclipse需要其指定cluster值。会话正文要求chain/cluster与原连接一致,不能拿同一密钥在另一链使用同一会话。

如果现有记录没有明确网络,标为待核;缺匹配关系不通过重签或反复连接来试错。

检查结果:账户、chain、cluster与原会话一致或明确列出差异。

3. 区分不超时与仍然有效

帮助写会话不自动过期,但Disconnect、当前钱包公钥改变、链/网络变化或app_url被阻止都可能使它无效。timestamp较新或连接一次成功不是持续授权证明。

Session Structure正文列app_url,下面编码示例却用app_id;保留该文档差异,不据此重命名实际响应字段或伪造会话。

检查结果:有逐项身份检查,timestamp未被当作有效性依据,字段冲突明确。

4. 按错误码定位真实类别

4001是用户拒绝,4100是方法/账户未授权,4900是网络连接问题;-32000是参数无效,-32601是方法不识别,-32603仅为内部错误。它们都不能自动解释为没余额。

-32002说明前一审批窗口仍占用,只允许一个窗口;-32003说明未识别有效交易。保存代码与原message,把未知原因留给对应集成调查,不扩大成资金已失败。

检查结果:错误与当前请求阶段一致,未把请求冲突或拒绝升级为链上失败。

怎样确认完成

  • 形成账户/网络/会话阶段和错误类别检查表。
  • 无新的连接、授权、签名或网络交易。

常见错误与边界

  • 官方会话编码示例是技术说明,本教程不复写、解密或验证任何真实session。
  • AI Search报道关联Exchange市场搜索,不能据此解释Wallet会话或签名功能。

本教程根据官方资料整理,尚未完成逐步操作验收。界面、支持范围及费用变化时,先核对官方说明。 纯文本版 · 提交纠错依据