Solidity

將 Oracalize __callback 函式的 WolframAlpha 字元串結果解析為可用格式?

  • October 23, 2018

我需要在我的智能合約中生成 0 到 100 之間的 10 個唯一隨機數。

為此,我決定使用 Oracalize 和一個名為WolframAlpha. 這就是我使用它的方式:

function loadNewRandomNumbers() public payable {
   oraclizeID = oraclize_query("WolframAlpha", "10 unique random numbers between 0 and 100");
}

我已經部署它來Ropsten測試網路並執行了該loadNewRandomNumbers函式,一切正常,我得到了呼叫 wolfram alpha api 數據源的結果:

在此處輸入圖像描述

到目前為止,這很棒;但我需要解析string(類似json的)響應 - 以便我可以使用它;理想情況下,將響應解析為uint array.

我該怎麼做呢?有沒有辦法將上面的字元串響應解析成可用的格式?

您可以使用回調函式將 ID 與字元串分開,如本例所示。然後,您可以使用solidity-util之類的工具來解析字元串,如this question中所述。

或者,Oraclize 有一個JSON 解析助手,但我不確定它是否/如何與 Wolfram 一起使用。

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