Solidity
如何在智能合約中訪問外部知識/數據
假設一個合約想要執行包含在區塊鏈之外的知識(例如,黃金的價格是多少,紐約市的平均風速是多少,上周有多少人搬到了波特蘭)——合約可能獲得這些資訊的常見方式是什麼什麼樣的資訊?
常見的模式稱為oracle。
乙太坊合約無法直接與外界通信,因此必須依靠外界將資訊推送到網路中。
您有 2 個選擇:
- 使用預言機:像Oraclize這樣的服務是正式的實現,您可以在其中付費以獲取他們提供的預言機數據的服務。
- 編寫一個預言機:如果您需要的數據尚未被預言機化,但您有能力這樣做,您可以編寫自己的外部服務,定期將數據插入您自己的預言機合約。然後,您的應用程序合約只會在需要時請求它。