Corda 流单元测试中各种 verifySignatures 函数之间的区别

Difference between various verifySignatures functions in Corda flow unit testing

Corda 流单元测试中这三种方法有什么区别?

ptx.verify(servicehub)
ptx.verifyRequiredSignatures()
ptx.verifySignaturesExcept(vararg allowedToBeMissed)

因为现在我不能像以前那样使用 ptx.verifySignatures() 而我有这三个选项! 谢谢

验证

fun verify(services: ServiceHub, checkSufficientSignatures: Boolean = true)根据其状态的合约验证交易有效。

如果 checkSufficientSignatures == true,此函数还将检查所有必需的签名是否存在且有效。

verifyRequiredSignatures

fun verifyRequiredSignatures() 检查所有必需的签名是否存在且有效,但 根据其状态的合同检查交易是否有效。

verifySignaturesExcept

fun verifySignaturesExcept(vararg allowedToBeMissing: PublicKey) 检查所有必需的签名是否存在且有效,但列为 allowedToBeMissing 的签名除外。它根据其状态的合约检查交易是否有效。

如果您知道尚未添加一个或多个必需的签名(例如,如果您是必需的签名者,但您想在添加自己的签名之前检查现有签名),此功能很有用。