Oracles

oraclize 是否可以同時執行 oraclize 查詢?

  • July 6, 2017

是否可以同時執行 oracle 查詢?因為我對此功能有疑問:

function closePhase1(uint contestID) payable MustBePhase1(contestID) ownerOrOrganiserOnly(contestID) {
   contests[contestID].phase = 2;

   for (uint i = 0 ; i < contests[contestID].nbVideos ; i++) {
       string ytID = contests[contestID].videos[i].youtubeID;
       debugStr(ytID);
       oraclize_query('URL', 'html(https://www.youtube.com/watch?v='.toSlice().concat(ytID.toSlice()).toSlice().concat(').xpath(concat("['.toSlice()).toSlice().concat(ytID.toSlice()).toSlice().concat(']", //*[contains(@class, "watch-view-count")]/text()))'.toSlice()));  

   }
   debugStr('Demand send to oracle...');

}

是的,甚至可以通過 for 循環請求處理多個查詢。只需確保您有足夠的資金支付每個查詢呼叫的費用,因為每個查詢呼叫都將單獨收費。此外,確保循環迭代的次數仍然允許它保持在氣體限制以下,因為它可能會因為氣體耗盡而失敗。

我還看到您正在將字元串轉換為切片(可能使用字元串庫),確保在實際的 oraclize_query 方法呼叫之前轉換回字元串。

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