🐬Apollo: request feeds from EVM
Step-by-step integration real-world data to your EVM SC
Last updated
Step-by-step integration real-world data to your EVM SC
Last updated
Apollo is an intricate module developed to bridge the gap between EVM (Ethereum Virtual Machine) contracts and the data-rich environment of the Orally platform, particularly its Sybil component. Beyond mere data provisioning, Apollo is also configured to provide a level of randomness through a cryptographic measure, utilizing the unpredictable BLS signatures inherent to the Internet Computer (ICP) execution layer.
Integration Steps:
To start using the Apollo module, your smart contract needs to inherit from ApolloReceiver
. This setup allows your contract to receive data from the Apollo network:
To request data, such as a price feed, use the requestDataFeed
(or requestRandomFeed
for randomness) function from the ApolloCoordinator
(interface). This function emits an event that the Apollo network listens for to provide the requested data.
Override the fulfillData
function to define how your contract should handle the incoming data. This function is called when the Apollo network delivers the data to your contract.
That's it! You successfully requested data and received it in the callback.
Here are contract addresses for IApolloCoordinator and IOrallyExecutorRegistry.
Here are Apollo consumer examples:
RaffleExample (randomness)
ApolloConsumerExample (price feed)