首页 > 解决方案 > Hyperledger Sawtooth 未满足的依赖项交易

问题描述

Sawtooth 交易标头有一个依赖字段它是一个交易标头数组,需要在处理此交易之前添加到分类帐中。具有未满足依赖关系的事务存储在哪里?它们是存储在第一个接收它们的节点中还是存储在网络中的每个节点中?

标签: blockchainhyperledgerhyperledger-sawtooth

解决方案


验证器将传入事务存储在待处理队列中。Validator 使用待处理队列中的事务执行。交易的执行是在创建块或验证块时完成的。向区块添加交易是由共识引擎动作触发的。

交易在到达时被广播到该网络的其他验证器部分。如果事务被评估(失败或成功),它将从待处理队列中删除。如果交易成功,它应该是在块创建期间或块验证期间。如果创建的 Block 由于共识过程而无法提交,则这些 Transactions 将被添加回待处理队列。交易本身没有任何问题,它只是碰巧不是提交的块的一部分。在成功的情况下,当它被提交到一个块时,一个事务在其他方面完全从挂起队列中删除。

当我说交易在验证器处挂起时,当然收到的是批次。验证器在考虑将事务添加到块时会执行依赖性检查。

希望这能回答这个问题。如果您遇到任何问题或想详细了解,请添加具体问题。


推荐阅读