前几天刷到朱雀三号一子级落地的画面,评论区吵的不是漂不漂亮,而是这一趟到底算不算进可重复使用的正式台账。直播里腿是撑住了,验收和成功次数却还在另一套流程里走。我看着那几秒,忽然觉得这事跟我翻 Rusk 1.7 时卡住的地方很像:看见一次执行,并不等于承认一次结算。#dusk
Boreas 之后,归档开始保留并标注已经回滚的合约事件,同时把回滚的质押更新从正式索引里拿掉。我一开始嫌烦,觉得既然无效,留着干什么。后来才承认自己以前太图干净。合约可能先吐出转账或质押的痕迹,区块在最终敲定前又把执行撤回去。索引当场抹掉,事后说不清用户当时为什么看见过那一跳;原样留下却不打标,下游又可能把作废变动当成到账。归档负责备查,正式账本只认最终有效状态,过程可以留下,余额不能被过程污染。@Dusk
节点改对了,不等于钱包和入账服务都用同一种读法。我自己就吃过亏,搜到事件名先高兴一会儿,回头发现状态根本没落下去。所以看 $DUSK ,我不只数新功能,更想看同一笔回滚会不会被各端写成同一个结论。能把无效的过去留下来,又不让它走进余额,这种规矩看着不起眼,却是结算还能被信任的底座。这条我仍谨慎乐观,规矩在代码里已经能看见,整条链路有没有一起遵守,还得继续看。$BTC