首页 > 解决方案 > 使用 oracle 时是否需要单独的命令?

问题描述

我想发布一些东西,例如一个新选项。在我发布这个新选项的流程中,我需要从两个需要为输出状态提供数据的独立预言机中获取信息。

我应该怎么做...我应该有一个输出和 3 个命令吗?带有来自 Oracle 1 的数据的命令,带有来自 Oracle 2 的数据的命令,然后是发出命令?或者这可以用一个命令来完成吗?

标签: corda

解决方案


这完全取决于你——你的命令可以包含你想要的任何数据,所以理论上,你可以用一个命令来完成整个工作。

话虽如此,为了清晰和隐私,我可能会将其分成至少两个命令。隐私元素是您可以为 oracle 构建过滤交易以签名,该交易仅包含 oracle 命令。

如果您不介意两个 oracle 看到发送给每个的数据以进行签名,您可以将数据封装在一个命令中,例如

class OracleCommand(val spotPrice: SpotPrice, val volatility: Volatility) : CommandData

一个预言机证明现货价格,另一个证明波动率。

但是,您会发现很难确定他们所证明的数据的哪一部分,因为他们都将签署整个过滤后的交易。

除非您知道 oracle 的设计可以专门挑选出正确的数据,否则您最好使用三个单独的命令。


推荐阅读