【发布时间】:2018-09-05 22:39:06
【问题描述】:
我想发布一些东西,例如一个新的选择。在我发布这个新选项的流程中,我需要从两个需要为输出状态提供数据的独立预言机中获取信息。
我应该怎么做...我应该有一个输出和 3 个命令吗?带有来自 Oracle 1 的数据的命令,带有来自 Oracle 2 的数据的命令,然后是发出命令?或者这可以用一个命令来完成吗?
【问题讨论】:
标签: corda
我想发布一些东西,例如一个新的选择。在我发布这个新选项的流程中,我需要从两个需要为输出状态提供数据的独立预言机中获取信息。
我应该怎么做...我应该有一个输出和 3 个命令吗?带有来自 Oracle 1 的数据的命令,带有来自 Oracle 2 的数据的命令,然后是发出命令?或者这可以用一个命令来完成吗?
【问题讨论】:
标签: corda
这完全取决于您 - 您的命令可以包含您想要的任何数据,因此理论上,您可以使用一个命令完成全部操作。
话虽如此,为了清晰和隐私,我可能会将其分成至少两个命令。隐私元素是您可以构建一个过滤交易供预言机签名,该事务仅包含预言机命令。
如果您不介意两个预言机看到发送给每个预言机的数据以进行签名,您可以将数据封装在一个命令中,例如
class OracleCommand(val spotPrice: SpotPrice, val volatility: Volatility) : CommandData
一个预言机证明现货价格,另一个证明波动率。
但是,您会发现很难确定他们所证明的数据的哪一部分,因为他们都会签署整个过滤后的交易。
除非您知道 oracle 的设计可以专门挑选出正确的数据,否则您最好使用三个单独的命令。
【讨论】: