题目
一笔 DeFi 交易在钱包里显示失败,用户认为「失败了就不该收费」。请说明执行失败时链上发生了什么、费用如何结算,以及后端服务应当如何判断这笔交易的结果。
考察目标
- 执行失败时状态变化与事件记录的处理方式。
- 失败交易的成本结算口径。
- 链下系统依据什么对账。
厘清执行失败时哪些结果被撤销、哪些成本照常结算,以及链下系统应如何依据收据对账。
一笔 DeFi 交易在钱包里显示失败,用户认为「失败了就不该收费」。请说明执行失败时链上发生了什么、费用如何结算,以及后端服务应当如何判断这笔交易的结果。
交易执行失败时,该交易造成的状态变化与事件记录会被回滚,而执行过程中消耗的 gas 仍按实际用量结算。链上状态与费用是两个不同层面的事实,链下系统需要以收据记录的执行结果作为对账依据。实现差异与工程取舍见深入回答。
发现这道题有问题? 反馈此题