我翻 @Dusk Dusk 交易生命周期文档时,才纠正一个误判:接口返回 202 Accepted,只说明节点接住请求。Dusk L1 签名提交后,节点先做 admission;通过才进入 real mempool 并向 peers 广播,区块生成者按 gasPrice 排序执行。
我把它看成清算流水线。202 是前台收件,included 是进入候场区,executed 还要检查 err 是否为 null。区块 accepted 后仍可能 reverted,直到 blocks/statechange 报出 finalized,账本才封存。Moonlight 靠账户与 nonce 查冲突,Phoenix 看 nullifier;替换交易要提高 gasPrice。
这套事件链只适用于 Dusk L1,DuskEVM 另有 sequencer 与 finality 模型。我写监听器会存 tx hash 与区块坐标,再用 onlyFinalized:true 核验。只盯 included,遇到节点替换、到期或容量淘汰,容易把本地状态当成到账。回执只是收件记录,资金确认要等最终状态。
#dusk $DUSK
我把它看成清算流水线。202 是前台收件,included 是进入候场区,executed 还要检查 err 是否为 null。区块 accepted 后仍可能 reverted,直到 blocks/statechange 报出 finalized,账本才封存。Moonlight 靠账户与 nonce 查冲突,Phoenix 看 nullifier;替换交易要提高 gasPrice。
这套事件链只适用于 Dusk L1,DuskEVM 另有 sequencer 与 finality 模型。我写监听器会存 tx hash 与区块坐标,再用 onlyFinalized:true 核验。只盯 included,遇到节点替换、到期或容量淘汰,容易把本地状态当成到账。回执只是收件记录,资金确认要等最终状态。
#dusk $DUSK