是否可以从基板合同进行外部调用

问题描述

我想从基板合同进行外部 http 调用,例如(例如对 infura 的 RPC 调用)。是否有可能? 如果可能,请给我建议方法或一些代码片段。

解决方法

不,这是不可能的,因为这样的调用是不确定的。

最接近这种功能的是 Offchain Workers:

https://substrate.dev/docs/en/knowledgebase/learn-substrate/off-chain-features

但这需要您编写特殊的逻辑来处理关于链下数据的共识,然后编写额外的代码或功能来正确地将此数据公开给合约。

我认为与现有智能合约平台上的大多数预言机一样,您希望向填充数据的链提交交易,而不是让合约尝试从外部世界提取数据。