Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 在CordaR3事务中,我可以使用只有一方知道的状态吗?_Kotlin_Transactions_Blockchain_Corda - Fatal编程技术网

Kotlin 在CordaR3事务中,我可以使用只有一方知道的状态吗?

Kotlin 在CordaR3事务中,我可以使用只有一方知道的状态吗?,kotlin,transactions,blockchain,corda,Kotlin,Transactions,Blockchain,Corda,我有两方(A和B) 在同一事务中,我希望: 使用仅甲方知晓的输入状态, 产生只有乙方知道的输出状态, 产生甲方和乙方都知道的输出状态 有可能做到吗?据我所知,这是不可行的。让我们写下你想要实现的目标: 使用只有甲方知道的输入状态 产生只有乙方知道的输出状态 产生只有甲方和乙方知道的输出状态 我认为以下几点使这一目标无法实现: 如果甲方发起了一个流程,那么它应该以某种方式查询只有乙方知道的OutputState。根据“OutputState只有乙方知道”的要求,该状态肯定不在甲方的vault中,也

我有两方(A和B) 在同一事务中,我希望: 使用仅甲方知晓的输入状态, 产生只有乙方知道的输出状态, 产生甲方和乙方都知道的输出状态


有可能做到吗?

据我所知,这是不可行的。让我们写下你想要实现的目标:

  • 使用只有甲方知道的输入状态
  • 产生只有乙方知道的输出状态
  • 产生只有甲方和乙方知道的输出状态
  • 我认为以下几点使这一目标无法实现:

  • 如果甲方发起了一个流程,那么它应该以某种方式查询只有乙方知道的OutputState。根据“OutputState只有乙方知道”的要求,该状态肯定不在甲方的vault中,也不在依赖项中
  • 如果乙方发起了一个流程,那么它应该以某种方式查询或初始化只有甲方知道的IntputState,该状态不在乙方的vault中或不在其依赖项中,并且该语句通常与您的要求相矛盾
  • SignedTransaction是不可变的对象。对于要提交到分类账中的新状态,所有各方都应该对事务进行签名。在任何情况下,输入、输出状态对所有各方都是可见的。这一点也与您的要求相矛盾

  • 从Corda 3.x开始,这是不可能的

    假设我们标记:

    • State1
      只有
    • State2
      只有B知道的输出
    • State3
      A和B已知的输出
    A要存储
    State3
    ,必须发送整个事务,包括
    State1
    State2
    。B要存储
    State2
    State3
    ,必须发送整个事务,包括
    State1
    。目前平台不支持存储状态in仅基于已过滤事务的节点vault