📌Air Quality Feed Contract
Introduction
The Air Quality Feed Oracle is a decentralized smart contract solution designed to fetch real-time air quality data and provide it to other smart contracts. Acting as a bridge between blockchain applications and external data sources, this oracle enables smart contracts to access and utilize air quality information trustless and transparently.
Technical Description
The Air Quality Feed Oracle is implemented as a smart contract on a blockchain platform such as Ethereum. It listens for air quality data requests, fetches real-time data from an external API, and stores the data in a decentralized manner. This ensures accessibility, security, and immutability.
Workflow
A user invokes the contract by providing a
location_id
.The contract makes an external API request to fetch air quality data for the specified location.
The retrieved data is stored in the contract’s storage and an event is triggered.
Other smart contracts or users can monitor this event and retrieve the stored air quality data.
Key Features
Secure and tamper-proof storage of air quality data.
Transparent and publicly accessible data.
Pay-per-use model for requesting air quality data.
Event-driven updates that notify subscribers when new data is available.
Usage
To interact with the Air Quality Feed Oracle, follow these steps:
1. Deploy the Contract
Deploy the contract to the blockchain using the following Oracle Contract address:
2. Request Air Quality Data
Call the function:
_location_id
: The ID of the location for which air quality data is requested._sender_address
: The address of the user making the request.This is a payable function, meaning the user must pay a certain amount of Ether to access the air quality data.
On successful execution, the function returns a unique request ID.
3. Retrieve Air Quality Data
Once the data is available, call:
id
: The request ID received from the previous function.This function retrieves the latest air quality data for the specified request.
Smart Contract Implementation
Contract Functions
1. Constructor
Initializes the contract with the address of the AirQualityOracle smart contract.
2. Request Air Quality Data
Allows users to request air quality data for a specific location.
Requires a payable transaction where users must send Ether to access the data.
Takes in
_location_id
(location identifier) and_sender_address
(user's address).Returns:
loc_id
: Location ID.sender
: Address of the requester.id
: Unique request ID.
3. Retrieve Air Quality Data
Fetches the stored air quality data for a given request ID.
Returns air quality data as a string.
Last updated