在 Hyperledger Fabric Chaincode 上调用外部数据外部数据作为业务逻辑的输入

问题描述

是否可以从链码中调用外部数据?

例如,在我的业务流程中,客户仅在完成的工作等于或大于一定数量(即检测到的外部数据)时才发放付款。 记录的外部数据是记录在网络中的私有数据。

解决方法

链码无法调用获取外部数据,因为该外部调用可能是不确定的。然而,“oracle”模式在这里很有用。

  • 让一个受信任的组织(称为预言机)在部署到单独渠道的智能合约上发布更新。

  • 只有预言机可以发布此智能合约的更新。这将是您尝试查询的外部数据。

  • 您的链码然后通过通道间链码查询访问这些数据

来源 - Oracle pattern for fabric