Oracles
Oraclize:隨機方法之間的區別
我寫了一個智能合約,想用 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,其中任何一個都可能無法察覺地作弊。