【发布时间】:2019-04-15 11:50:04
【问题描述】:
我正在编写一个 Hyperledger-fabric 链代码。我希望它可以从外部程序中获取一些字符串并向它发送一些消息。我想知道链码是否可以做到这一点?
【问题讨论】:
标签: hyperledger-fabric hyperledger-chaincode
我正在编写一个 Hyperledger-fabric 链代码。我希望它可以从外部程序中获取一些字符串并向它发送一些消息。我想知道链码是否可以做到这一点?
【问题讨论】:
标签: hyperledger-fabric hyperledger-chaincode
是的,您可以这样做。这种做法被称为“神谕”。例如阅读this。
但出于多种原因,强烈不建议这样做(ChainCode 最佳实践:Accessing external resources (http) might expose vulnerability and security threats to your chaincode. You do not want malicous code from external sources to influence your chaincode logic in any way. So keep away from external calls as much as possible.)
【讨论】:
为了与外部程序交互,您需要设置区块链oracle。预言机应该向所有背书者返回确定性结果——否则背书失败。至关重要的是,所有背书者都可以访问这个外部程序,例如通过 API。
商业区块链预言机提供商Oraclize 提供与 Hyperledger Fabric 的集成。您可以查看他们的connector chaincode,了解他们如何将 oracle 与 Fabric 集成并遵循类似的方法。
编辑:需要明确的是,我与 Oraclize 没有任何关联,也不想为他们做广告。我只是将它们命名为示例,因为它们众所周知并且提供与 Hyperledger Fabric 的集成
【讨论】: