corda - 使用 oracle 时是否需要单独的命令?
问题描述
我想发布一些东西,例如一个新选项。在我发布这个新选项的流程中,我需要从两个需要为输出状态提供数据的独立预言机中获取信息。
我应该怎么做...我应该有一个输出和 3 个命令吗?带有来自 Oracle 1 的数据的命令,带有来自 Oracle 2 的数据的命令,然后是发出命令?或者这可以用一个命令来完成吗?
解决方案
这完全取决于你——你的命令可以包含你想要的任何数据,所以理论上,你可以用一个命令来完成整个工作。
话虽如此,为了清晰和隐私,我可能会将其分成至少两个命令。隐私元素是您可以为 oracle 构建过滤交易以签名,该交易仅包含 oracle 命令。
如果您不介意两个 oracle 看到发送给每个的数据以进行签名,您可以将数据封装在一个命令中,例如
class OracleCommand(val spotPrice: SpotPrice, val volatility: Volatility) : CommandData
一个预言机证明现货价格,另一个证明波动率。
但是,您会发现很难确定他们所证明的数据的哪一部分,因为他们都将签署整个过滤后的交易。
除非您知道 oracle 的设计可以专门挑选出正确的数据,否则您最好使用三个单独的命令。
推荐阅读
- asp.net - 如何在 EF 数据库优先中使用存储过程填充 DataTable
- kubernetes - 如何为面向公众的 Web 应用程序设置 DNS 和入口控制器?
- subroutine - Genesys 交互设计子程序
- javascript - 提示点播放按钮在第二次单击时不播放视频
- angular - 角度如何检查模型是否已更改
- angular - 父组件中的服务在子组件之后运行
- java - 迭代一个集合,然后只执行一次流连接集合的所有元素
- c++ - 为什么这个输出“geeksforgeeks”?
- c - 在 AVR 工作室中将温度转换为电压
- jquery - jQuery datepicker 在点击时不起作用