繁体   English   中英

防止节点创建状态的 Corda 合约

[英]Corda contract to prevent a node from creating states

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

您可以按照示例存储库中的黑名单项目的方法:
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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM