Oracles

Oraclize:隨機方法之間的區別

  • June 8, 2018

我寫了一個智能合約,想用 oraclize 來獲取隨機數。這些方法之間是否有任何區別:

使用 WolframAlpha:

oraclize_query("WolframAlpha", "random number between 1 and 2^64");

使用 Random.org:

oraclize_query(
    "URL",
    "json(https://api.random.org/json-rpc/1/invoke).result.random.data.0",
    '\n{"jsonrpc":"2.0","method":"generateIntegers","params":{"apiKey":"9844ab4d-52ef-4587-9cf3-20a6930a7f6e","n":1,"min":1,"max":1000,"replacement":true,"base":10},"id":1}');

使用 oraclize 隨機方法:

bytes32 queryId = oraclize_newRandomDSQuery(delay, N, callbackGas); 

在價格方面,我看到:

  • WolframAlpha:0.03 美元/查詢。無限查詢。
  • Random.org:0.01 美元/查詢。每天只有 1000 個請求(受 random.org 限制)
  • oraclize_newRandomDSQuery:0.05 美元/查詢。

請告訴我功能上的差異。謝謝

隨機數據源查詢的設計是為了假設賬本硬體飛地沒有受到損害,你的合約可以驗證 Oraclize 是否真的給了你一個隨機數。

使用 Wolfram Alpha 或 random.org 需要您信任這些組織,以及 Oraclize 及其 CDN,其中任何一個都可能無法察覺地作弊。

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