我试图了解Corda的概念。我了解到,要使交易通过有效性共识,各方应检查特定资产的所有交易,直到发行交易为止。 Described Here.
但是这实际上是如何在代码中实现的?我们必须自己编写逻辑还是由流程框架本身处理?
答案 0 :(得分:0)
它有两个主要概念:
每个输入和输出状态的合同都接受交易。
您可以按以下方式可视化。假设您有由ContractA处理的StateA和由ContractB处理的StateB。
现在假设您使用CommandA创建了一个事务,并且在事务中同时具有两个状态,即StateA和StateB。
在合同中都必须有CommandA,并且在该命令中必须有CommandA才能验证事务及其状态。因此,请确保所有输入和输出状态的每个合同都接受交易。
交易具有所有必需的签名
这几乎在所有情况下都会自动处理。您可以使用collectSignature
子流,然后使用verifyRequiredSignatures
来确保事务具有所有必需的签名者。您可以在CollectSignaturesFlow和Flow cookbook
当节点或验证公证人验证交易时,自动处理交易链。