题目
你在做「手续费档位」功能,提供了慢速、标准、快速三档。有用户选了慢速档后,交易一直停留在待处理状态,界面上只显示一个转圈动画。
请说明费用上限偏低时交易会发生什么、为什么它会长时间停住,以及界面应该给出什么可执行的操作。
考察目标
- 能否说明基础费用与费用上限的关系。
- 是否知道低价交易停住的机制与最终可能的结局。
- 能否给出可操作的界面方案。
考察费用上限与基础费用的关系,以及低价交易的等待与失效表现。
你在做「手续费档位」功能,提供了慢速、标准、快速三档。有用户选了慢速档后,交易一直停留在待处理状态,界面上只显示一个转圈动画。
请说明费用上限偏低时交易会发生什么、为什么它会长时间停住,以及界面应该给出什么可执行的操作。
基础费用由协议按父区块的 gas 使用量与目标值计算,单块变化幅度有上限;交易要被纳入区块,其 max_fee_per_gas 需要不低于该区块的基础费用。上限低于当前基础费用的交易在待处理集合里缺少竞争力,可能长时间等待,也可能被节点丢弃或被同 nonce 的更高费用交易替换。
BASE_FEE_MAX_CHANGE_DENOMINATOR(8)约束,即单块最多约 12.5%(依据:EIP-1559 §Specification 的基础费用计算与常量定义)。max_fee_per_gas >= block.base_fee_per_gas 的断言(依据:EIP-1559 §Specification 的交易验证断言)。min(max_priority_fee_per_gas, max_fee_per_gas - base_fee) + base_fee 计算,基础费用被销毁、优先费归出块方;只覆盖基础费用而不给优先费的交易在规则上有效,但缺少被优先选取的动机(依据:EIP-1559 §Specification 的费用结算、§Abstract)。发现这道题有问题? 反馈此题