Pali 使用 JSON-RPC、EIP-1193、EIP-1474 和钱包特定错误。dapp 应始终同时检查 error.code 和 error.message。
标准 JSON-RPC
| 代码 | 含义 |
|---|
-32700 | 解析错误。 |
-32600 | 无效请求。 |
-32601 | 方法未找到或不可用。 |
-32602 | 无效 params。 |
-32603 | 内部错误。 |
Ethereum provider 错误
| 代码 | 含义 |
|---|
4001 | 用户拒绝了请求。 |
4100 | 未授权的账户或方法。 |
4200 | 不支持的方法。 |
4900 | Provider 已断开连接。 |
4901 | Provider 已从指定链断开连接。 |
EIP-1474 风格错误
| 代码 | 含义 |
|---|
-32000 | 无效输入。 |
-32001 | 资源未找到。 |
-32002 | 资源不可用。 |
-32003 | 交易被拒绝。 |
-32004 | 方法不支持。 |
-32005 | 超出请求限制。 |
Pali 特定常见错误
| 代码 | 含义 |
|---|
4101 | 方法仅适用于不同的链家族,例如仅 EVM 或仅 UTXO。 |
4874 | 方法不支持硬件钱包。 |
5710 | 钱包中未为该 bundle 所在链配置 RPC(wallet_getCallsStatus / wallet_showCallsStatus)。 |
5720 | wallet_sendCalls 中 dapp 提供的 bundle id 重复。 |
5730 | wallet_getCallsStatus / wallet_showCallsStatus 的未知 bundle id。 |
最佳实践
- 将
4001 视为正常的用户取消。
- 将
4101 视为引导用户进入正确网络家族的提示。
- 不要在紧密循环中重试阻塞请求。Pali 会保护用户免受弹窗 spam。
- 对 Passkey sponsor 失败显示可操作的文案,尤其是 guardian or module configuration。