题目
用户提交交易时收到一串英文报错,客服无法判断该怎么处理。你收集到的报错包括:随机数偏低、随机数偏高、以及替换交易的出价不足。
请说明这三类报错分别对应什么情况、为什么会出现,以及前端应该如何处理这类信息。
考察目标
- 能否把报错归类到具体的账户状态问题。
- 是否知道报错措辞随客户端实现不同,不应硬编码匹配。
- 能否给出面向用户的处理路径。
考察随机数相关报错的语义归类,以及客户端措辞不一致带来的处理原则。
用户提交交易时收到一串英文报错,客服无法判断该怎么处理。你收集到的报错包括:随机数偏低、随机数偏高、以及替换交易的出价不足。
请说明这三类报错分别对应什么情况、为什么会出现,以及前端应该如何处理这类信息。
这三类提示来自节点或钱包的交易池规则,不是统一的协议错误码。nonce 偏低可能表示链上序号已前进,也可能是节点已有同序号待处理交易;偏高通常表示前面的序号尚未被该节点接受;替换出价不足表示新交易未达到该节点的替换门槛。应核对 latest、pending 读数和已有交易哈希,再决定是否重试。
eth_getTransactionCount 返回所选区块状态下账户的交易序号,并支持 latest、pending 等区块参数;pending 的结果可能因节点本地交易池而不同(依据:EIP-1474 §eth_getTransactionCount)。CREATE 也会改变创建者的 nonce,EIP-7702 又增加了授权账户递增的情形(依据:Yellow Paper §4.1 World State;EIP-7702 §Behavior)。-32xxx 分类,没有为「nonce 偏低/偏高/替换出价不足」规定统一措辞,因此不宜用字符串匹配判断类型(依据:EIP-1474 §Error codes;其余为工程实现差异)。发现这道题有问题? 反馈此题