Corda合同,以防止节点创建状态

问题描述 投票:0回答:1

[在Corda中,我们如何设计合同以防止某个节点创建特定类型的状态?ⁿ例如,不应允许节点Student创建一个QuestionPaper状态。

blockchain corda
1个回答
0
投票

您可以在示例存储库中遵循blacklist项目的方法:https://github.com/corda/samples/tree/release-V4/blacklist

  1. 您创建QuestionPaper状态的流程必须在事务中添加附件:https://github.com/corda/samples/blob/018502310b56bc1bb31440380af4b89e9bbd7ed8/blacklist/src/main/kotlin/net/corda/examples/attachments/flow/ReachAgreementFlow.kt#L31
  2. 您的合同将验证附件中的文档是否与合同中硬编码的哈希匹配(否则,该节点可以上载不包含列入黑名单的Student节点的文件):https://github.com/corda/samples/blob/018502310b56bc1bb31440380af4b89e9bbd7ed8/blacklist/src/main/kotlin/net/corda/examples/attachments/contract/AgreementContract.kt#L33
  3. 然后检查issuerQuestionPaper中的属性)是否不在黑名单中(即Student节点):https://github.com/corda/samples/blob/018502310b56bc1bb31440380af4b89e9bbd7ed8/blacklist/src/main/kotlin/net/corda/examples/attachments/contract/AgreementContract.kt#L53
© www.soinside.com 2019 - 2024. All rights reserved.