Inspiration
Gaia was inspired by the idea of delivering custom data to smart contracts. Imagine a system where users can simply upload an API or have a website that can easily submit outside information onto the blockchain.
What it does
Gaia looks for sports data (football fixtures) on a particular day and updates the fixtures and their timestamps accordingly. When a match is completed, the results are delivered onto the blockchain.
How we built it
The smart contract was built using Solidity and Chainlink products. A time-based automation is used to get daily match fixtures and their starting times. Afterward, the outcome of a fixture is called after some time using custom Keepers. We used automated functions to get real-world data using Chainlink functions.
Challenges we ran into
Writing JavaScript functions was difficult when returning the JavaScript-encoded data types to Solidity data types. Chainlink's documentation and Functions Playground provided helpful insights. It was also challenging to manage multiple upkeepers. Getting the API from a single central source poses a centralized risk.
Accomplishments that we're proud of
Using Chainlink Functions and Automation to get real match data.
What we learned
Getting real data on-chain is very expensive. It is essential to keep on-chain data very minimal.
What's next for Gaia
Gaia could list more sports data.
Gaia could broadcast data to different blockchains.
Built With
- foundry
- scafold-eth
- solidity
Log in or sign up for Devpost to join the conversation.