Is it possible to use Oraclize on a testnet
such as "Ropsten
" or "Kovan
" or "Rinkeby
" or even local blockchain
such as "TestRPC
" ?
2 Answers
Totally! I just finished a project using Oraclize locally for testing.
You need to use the Oraclize ethereum-bridge
:
https://github.com/oraclize/ethereum-bridge
The steps go something like this:
- Set up your local blockchain using
ganache
- Run the
ethereum-bridge
- Add a custom address resolver to your Oraclize contract
- Run your contract!
This was the tutorial I used to first get started:
-
Thank you, Does this approach use
N-of-M multiSig
? Or we would have only a single Oracle ? Thanks Aug 20, 2018 at 11:33
Oraclize is in fact usable on mainnet and the public testnets (Ropsten, Kovan, Rinkeby), by just importing the Oraclize API contract and inheriting it. The needed infrastructure is already set-up on these public networks for you.
For a local blockchain such as TestRPC/Ganache etc... Or even private networks utilizing PoA and so on, Shawn Tabrizi's answer is a good reference, where you will have to integrate that network, with the ethereum-bridge, and only then is the Oraclize API contract usable. You may also have to set the OAR variable in your own contract, if the ethereum-bridge alerts you of one.
Regarding use of a single Oracle, Oraclize aims to provide you with good guarantees of only having to rely on it and not multiple Oracles, by providing the option (and recommendation) to receive your results in production, backed by the various authenticity proofs that are available. They work in various ways, to guarantee the authenticity of the data, and that the data carrier, Oraclize, did not tamper with it. The security deep dive portion of the Oraclize docs is a good reference for this: http://docs.oraclize.it/#security-deep-dive