Home Welcome to the Documentation of Oraclize! Background Oraclize is the leading oracle service for smart contracts and blockchain fundamental interactions bitcoin mining, serving thousands of requests every day on Ethereum, Bitcoin and Rootstock. In the blockchain space, an oracle is a party which provides data. But to rely on a new trusted intermediary, the oracle in this case, it would be betraying the security and reduced-trust model of blockchain applications: which is what makes them interesting and useful in first place.
One solution is to accept data inputs from more than one untrusted or partially trusted party and then execute the data-dependent action only after a number of them have provided the same answer or an answer within some constrains. This type of system can be considered a decentralized oracle system. It is inherently inefficient: all the parties participating will require a fee and, for every request, it will take time before reaching a sufficient number of answers. The solution developed by Oraclize is instead to demonstrate that the data fetched from the original data-source is genuine and untampered. This is accomplished by accompanying the returned data together with a document called authenticity proof. The authenticity proofs can build upon different technologies such as auditable virtual machines and Trusted Execution Environments. A more detailed overview of Oraclize authenticity proofs is provided in the Authenticity Proofs section of this documentation.
Data providers don’t have to modify their services in order to be compatible with blockchain protocols. Smart contracts can directly access data from Web sites or APIs. Oraclize engine can be easily integrated with both private and public instances of different blockchain protocols. While building the service, the Oraclize team has realized that the concept of authenticity proofs has much broader applicability that initially envisioned. General Concepts Oraclize is integrated with a number of blockchain protocols and its service is useful and accessible also for non-blockchain applications. In the following section, general concepts which apply to all integrations will be explained.
Oraclize Engine The Oraclize Engine powers the service for both blockchain-based and non-blockchain-based application. Internally replicates an “If This Then That” logical model. This means that it will execute a given set of instructions if some other given conditions are met. For example, it could repeatedly verify a condition and only return data or perform an action when the condition has been met. Data Source Types A data source is a trusted provider of data. It can be a website or web API such as Reuters, Weather.
The first parameter is the main argument and it is usually mandatory. For example, in the case of the URL Data Source Type, the first argument is the expected URL where the resource resides. If only the first argument is present, then the URL Data Source assumes that an HTTP GET was requested. The second parameters, which it is optional, should contain the data payload of the HTTP POST request. The intermediate result of a query may need to be parsed: for example, to extract a precise field in JSON API response.
Therefore, the query can also specify parsing helpers to be applied. Parsing Helpers Oraclize offers XML, JSON, XHTML and a binary parser helpers. HTML Parser: helper is useful for HTML scraping. The first parameter is the expected to be the offset, while the second one is the length of the returned slice. 4, which can be easily tested via this external website. If Oraclize is unable to generate an authenticity proof for technical reasons, it will return in most cases the result without the requested proof. Data Sources Listed here are the data-sources you can choose from when using our oracle service.