cordapp-tutorial代码中是否需要verify()行?

时间:2017-09-19 16:54:04

标签: corda

只是想知道,我已经注意到在CollectSignaturesFlow中有这样的电话:

partiallySignedTx.tx.toLedgerTransaction(serviceHub).verify()

在ExampleFlow中有这一行:

txBuilder.toWireTransaction().toLedgerTransaction(serviceHub).verify()

这两个地方都需要吗?他们没有打电话给同样的例行公事吗?

1 个答案:

答案 0 :(得分:0)

你是对的 - 这些检查相互重复。在这种情况下,我们将其作为良好实践的一个例子 - 并非所有人都在考虑CollectSignaturesFlow的定义!

但是,您可能希望在签名之前验证事务作为try / catch块的一部分,并在验证失败时修改事务(但是,这不是我们在此处所做的)。

请注意:

partiallySignedTx.tx.toLedgerTransaction(serviceHub).verify()

实际上可以替换为:

partiallySignedTx.verify(serviceHub)