Contract-Design

乙太坊合約如何從網站獲取數據?

  • November 4, 2020

乙太坊合約從網站獲取一些數據的過程背後的過程/工作流程是什麼?

您可以使用Oracle。預言機是將現實世界的數據與區塊鏈連接起來的任何設備或實體。

有幾個 oracle 技術的例子。ChainlinkProvable(以前稱為 Oraclize)就是兩個這樣做的例子。

這裡有一些程式碼範例以及我們的 Solidity API 的文件

Oraclize 在主網和測試網上都可用,因此使用它應該很容易,但是如果您需要任何支持,請隨時詢問 - 我們甚至在這裡有一個 gitter 頻道

正如您所見,從網站獲取數據就像使用oraclize_query函式一樣簡單。

我們的良好行為由TLSNotary證明授予,並且可以通過這個基於 Web 的客戶端網路監視器輕鬆檢查。

例如,從 Kraken 程式碼中獲取 ETHXBT 價格:

import "dev.oraclize.it/api.sol";

contract KrakenPriceTicker is usingOraclize {
   string public ETHXBT;

   function PriceTicker() {
       oraclize_setNetwork(networkID_testnet);
       oraclize_setProof(proofType_TLSNotary | proofStorage_IPFS);
       oraclize_query("URL", "json(https://api.kraken.com/0/public/Ticker?pair=ETHXBT).result.XETHXXBT.c.0");
   }

   function __callback(bytes32 myid, string result, bytes proof) {
       if (msg.sender != oraclize_cbAddress()) throw;
       ETHXBT = result;
       // do something with ETHXBT
   }
} 

引用自:https://ethereum.stackexchange.com/questions/2