是否可以选择事务签名?我知道命令明确列出了所需的签字人(必须签署交易方才能进行公证),但当事人可以选择签署吗?我们如何才能做到这一点?
用例是一个反洗钱实体,它将根据交易方的信任程度签署。
val requiredSigners = listOf<PublicKey>()
val optionalSigners = listOf<PublicKey>()
tb.addCommand(TestContract.Commands.TestCommand(), requiredSigners, optionalSigners)上面的代码不可能使用现有的SDK。
发布于 2019-05-29 13:10:17
如果在创建事务时已知信任级别,那么在将TestCommand()添加到事务生成器时,我们可以显式地指示所需的签名者。
一旦一个事务被签署,它就变得不可变。这意味着我们无法添加额外的所需签名者。
为了启用可选的签名者,我们将根据事务构建器(或任何其他业务逻辑)的输入和输出来调整所需签名者的内容。然后,在Corda合同中,我们可以根据相同的业务逻辑验证所需签名的数量。
简单地说:命令定义了谁需要签名,但是Corda契约中验证方法中的检查逻辑是查看包含的状态,并决定哪些公钥应该在命令中。因此,在所需签名者周围有条件逻辑是完全可能的。
https://stackoverflow.com/questions/56361287
复制相似问题