我想询问是否有最大数量。参与者,资产,超级支持者可以支持的交易?
此外,如果交易提交失败,是否有回滚(符合ACID,示例)?
谢谢。
答案 0 :(得分:1)
我想询问是否有最大数量。参与者,资产,超级支持者可以支持的交易?
当然会有限制。但是,出于实际目的,它们足够高,可以进行认真的工作。参与者可以采取以下几种形式:
最有限的将是组织和同行等,但是根据我的知识,一个联盟仍然可以大到足以容纳少数这些。角色和身份取决于您的需求和智能合约的设计。除非你是压力测试,否则你真的需要多少? (身份当然会在数量上最大,但系统的设计考虑到了这一点,据我所知)。
所以我的观点是,限制应该足以满足大多数实际目的。
此外,如果提交交易失败,是否会回滚(符合ACID,示例)?
区块链的重点是始终提供透明的分布式分类帐,其中完美一致性。所以答案是是。
请注意,回滚只是意味着在事务成功或失败时,分类帐的所有副本都将具有相同的结果。如果交易失败,则其任何更改都不会出现在分类帐中。
交易失败模式:
如果链码选择因违反业务规则或内部错误而导致交易失败,则会在签注过程中失败。
提交失败发生在两个事务并行执行时(出于实际目的 - 它们可以执行得太近并获得相同的效果)和(a)触摸相同的键,并且(b)结束在同一个街区。在这种情况下,代言人愉快地为两者创建读/写集,但是提交者发现第二个事务正在读取由同一块中的先前事务更新的密钥的无效版本。读/写集从未应用,从而提供回滚。
提交期间一致性失败的解决方案是将流控制添加到应用程序中。你无法在链码中解决这个问题。
答案 1 :(得分:0)
参与Hyperledger区块链的参与者数量没有限制。但是,它们将是私人区块链,因此每个人都不会参与其中。
关于提交交易的失败,取决于您的意思。当用户发送事务时,事务可能会失败。但是,一旦交易开始,它将终止。
一旦Peer发送交易,它就会等待得到答案。它可能成功与否,但它需要一个答案。如果我是你,我会读到transaction flow of a transaction in Hyperledger Fabric。或关于Basic workflow of transaction endorsement