Hyperledger Fabric,停止并行链码执行



all 所以我对超级账本结构有问题,为什么允许链码在超级账本中并行执行,如下所示:

running push()
2
ending push()
running push()
1
ending push()
running push()
3
ending push()
running push()
5
ending push()
running push()
4
ending push()

所以我在这里做的是: - 创建新事务并发送 2 个对象比 - 立即发送另一笔交易

因此,在更新账本之前,键应该是例如:3 + 2 = 5,然后再次5 + 1 = 6

但在这种情况下这是错误的,因为它以以下开头:3 + 2 = 5,在更新账本之前,另一个推送是从当前密钥 3 + 1 = 4 而不是从 5 + 1 = 6 完成的。

我该如何解决这个问题?

(I( 请记住,链码执行只是智能合约逻辑计算的模拟。 换句话说 - 链码执行会告诉您,如果交易将被提交,通道的更新是什么

当客户端从对等方(包含模拟(获得背书时 - 它将其发送给排序者,以安排在下一个可用批次中的某个块中出现,这将切断一个块。

只有当区块被持久化到账本中时(并且只有当交易有效时 - 这意味着,它没有被先前区块中的任何其他交易或它来自的区块内的先前交易无效( - 下一个链码执行可能会看到交易的变化。

(二(

为什么允许链码在超级账本中并行执行 喜欢这个:

因此,从 (I( 可以看出,并行执行链码是没有意义的,因为在任何情况下,链码执行的结束并不意味着下一次执行将读取该数据。

最新更新