corda - 我可以在 Corda oracle 服务中使用依赖注入吗?
问题描述
我想在我的 CorDapp 中交换货币,但我希望我的货币交换服务足够灵活,以便我将来可以轻松更改货币汇率提供者。
有没有办法将货币汇率提供者作为 Corda 预言机服务注入?或者有没有更好的方法来解决我在 Corda 中的问题?
解决方案
是的,您可以使用预言机来提供货币汇率。要“注入”要使用的货币提供者,您可以将预言机的名称作为参数传递给流程:
@InitiatingFlow
@StartableByRPC
class CurrencySwapFlow(val oracle: CordaX500Name) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
val oracle = serviceHub.networkMapCache.getNodeByLegalName(oracle)
?: throw FlowException("Unknown oracle service.")
TODO("Use the oracle in your flow.")
}
}
推荐阅读
- python - 无法在 __init__ 函数 Python 中增加全局变量
- html - 我的视频 vtt 出现问题,字幕没有显示
- yii2 - Yii2 ActiveDataProvider with leftJoin in query 不返回分页页面大小项目
- reactjs - React js 中的 Swiper 使用 autoHeight 首次渲染时计算高度为零
- java - 是否有任何解决方案可以在达到 maxmemory 时从后端和前端从 redis 流 1 中删除消息
- python-3.x - 利用 ExternalTaskSensor 的 DAG 持续运行
- python - 使用 SQL/TKinter (Python) 将变量传递给第二个脚本
- r - 使用 optim 将条件应用于优化的参数
- python - 快速合并 Pandas 中的行
- c++ - 包括“Y”在内的元音数