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
的签名除外。它不根据其状态的合约检查交易是否有效。
如果您知道尚未添加一个或多个必需的签名(例如,如果您是必需的签名者,但您想在添加自己的签名之前检查现有签名),此功能很有用。
关于unit-testing - Corda 流单元测试中各种 verifySignatures 函数之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47534217/