Inspiration
Consider a "classic", centralized online game of chance, e.g. Roulette, Poker, Blackjack etc. In order to play and win, you have to trust third parties who are in control of the game system. A "random" game result coming from a centralized party should not be enough for users, because it is not externally verifiable. A centralized party could manipulate the win chances for a specific player for many undisclosed reasons, like business strategies. A problem of trust arises, and to fix that, we would need a fully decentralized and independent game system. That system would have to provide reliable, truly random, verifiable game results each consecutive time. That system should also not be controlled by anyone, making it fully autonomous and independent. We managed to build a system exactly like this - CheapChips.
What it does
A fully automated and decentralized online lottery game using Chainlink services Chainlink VRF V2 & Chainlink Automation.
How we built it
For the smart contracts development we used the Hardhat framework.
Smart contracts (located in /contracts) were written in Solidity and are using @openzeppelin/contracts, @chainlink/contracts and @uniswap libraries.
Frontend (located in /app) is written entirely in React using Vite. It's using ethers.js library for browser-blockchain connectivity and TailwindCSS for styling components.
Challenges we ran into
Connecting Chainlink Automation with Chainlink VRF
Accomplishments that we're proud of
We created fully functional dapp with flawless user experience.
What we learned
We learned how to use Chainlink services and create self-sustainable smartcontracts.

Log in or sign up for Devpost to join the conversation.