Closed pabloruiz55 closed 6 years ago
Good catch, this is due to a missing implementation in the Solidity verification function of the time delay option (when it is != 0). Let's keep this issue open to keep track of the progress: we will update the Solidity verification function soon to support any delay.
Any news?
I'm also wondering whether this has been fixed yet since I need this functionality.
@quantum13 @borisblizzard by using the latest version of the oraclizeAPI you will be able to set a randomDS delay up to 120 seconds (~8 blocks on mainnet). This is already quite a stronger guarantee compared to having 0 delay (default). If you need to schedule the query for a future execution you can still call oraclize_query with a non-zero first argument.
I hope this answers to your question, let us know if you need anything else!
@bertani thanks, but it is still not working, even with delay=0: contract (with source): https://rinkeby.etherscan.io/address/0x1602863d2c4c7f9f074109d56b37e3b43b8220c4 tx (empty proof): https://rinkeby.etherscan.io/tx/0x3fb3fdf669cea9c9e1e31728f18d5cc773d385bb57528a2db9fcc8bd481823bc
100 seconds (empty proof): https://rinkeby.etherscan.io/address/0x315de0d342c51a8d85b86973165ff915724eb4a6 60 seconds (empty proof): https://rinkeby.etherscan.io/address/0x2495ed1baebf72b9d4884f0c3f7e052eeeea6473
45 sec (wrong proof): https://rinkeby.etherscan.io/address/0x1a53827c79ac8ec41ebc88dcc50d527a1ef1f700
10 sec (wrong proof): https://rinkeby.etherscan.io/address/0x5d791cd29d9a531e0083f1f9491a8d128aacb1d2
0 sec: https://rinkeby.etherscan.io/address/0xcb7f922e95bac08544cdea6d6dd9ba6c0e6e2e27
Actually I noticed that rand stopped working on Rinkeby myself. Main net still works fine.
Not working on Rinkeby, I am suing Oraclize 'RandomExample' and the proof fails all the time, but the ether is deducted from my account!!. Also, I am a bit concern about the amount of gas that takes to deploy the contract, It hits the limits and is impossible to deploy the contract as it is, I had to remove the call to update in the constructor to be able to deploy the contract.
I am also finding it isn't working on Rinkeby even when set to 0. Always failing the proof verification.
The Random DS on Rinkeby is confirmed to be working now. Please try again.
Specifically in regards to Rinkeby, it appears to work with up to a 54 second delay.
Hello! I am fighting with randomness error for a day already...
why is that..?
@VanijaDev Are you trying to run that from the Javascript VM of Remix? The random DS only works on mainnet and public testnets as per: https://github.com/oraclize/ethereum-examples/tree/master/solidity/random-datasource
If oraclize_newRandomDSQuery(delay, N, callbackGas); is executed with a delay different than 0, when the callback is fired, the oraclize_randomDS_proofVerify__returnCode call will fail verification of proof.
The expected behavior would be for the callback to properly verify the random number generated even if it was delayed.
Tested on ropsten. Here's the code to reproduce it. call scheduleRandomNumOnCreation(0); and it will work properly. -reaches event Testeo(2014)- call scheduleRandomNumOnCreation(30); and the callback will fail the proof verification