Inspiration
"Web3 gaming, a groundbreaking concept, is revolutionizing how players engage with games" - Forbes Technology Council
After conducting market research, we saw significant opportunity in the web3 gaming space. We're very passionate about building at the forefront of innovation and ideated on how we saw the future of web3 gaming.
We saw a gaming hub that allows for players to log into a gaming social profile with their wallet from any chain, compete with friends for leader board rankings, search for friend's profiles via ENS, browse various games to play, and be able to get any asset they may need to play games all within the dApp.
Essentially a PlayStation UX for Web3.
What it does
To bring to life a proof of concept of our idea, we decided on the following components:
Social Aspect When you log onto BetBlock for your first time, you're prompted to create your NFT profile picture. You input a key word and then will receive a newly minted NFT of an AI generated image based on your input word. Then you will be directed to the community leader board where you can search for other players via ENS or wallet address. Upon clicking on a profile, you'll see the players recent activity, their ENS, and their NFT profile picture.
Gaming Aspect Now that your profile is all set up, its time to start gaming. Head to the games tab where you will see the first game deployed for BetBlock, which is roulette. This is a fully functioning European roulette game. So you can place all the bets you wish... straight, split, street, corner, six line, column, dozen, red, black, high, low, even, odd. Once you place your bet, the roulette wheel will spin, the contract will calculate your winnings, and your winnings will be automatically withdrawn to your wallet each play.
Lending Aspect Since we aim for BetBlock to be a once stop gaming hub, we need to enable players to be able to get any asset they may need to play a game right in the dApp. For roulette, you need LINK to play. So if you don't have LINK in your wallet, simply go to the lending page, deposit MATIC as collateral and borrow some LINK to play roulette. Once you're done gaming, just go back and repay your loan and withdraw your collateral. Now you have a way to get the asset you need without having to sell any of your current holdings.
How we built it
- Chainlink Functions is used to mint NFTs on Avalanche with DALL-E3 (Open AI).
- Built our own IPFS server to save on costs and run our own node without dependencies and makes it easy to integrate with our own internal API, which is being used to store our NFTs and metadata
- The games (Roulette logics) are built on Polygon for fast speed!
- Chainlink VRF is used to randomly generate a winning value in the roulette smart contract.
- Chainlink Automation is used to automatically spin the roulette wheel, calculate your winnings, and withdraw winnings to your wallet after placing a bet.
- Chainlink Data feeds are used to fetch the latest asset price when calculated max borrowable amount in the lending smart contract and to display up to date asset prices on the UI of the dApp.
Chainlink Implementations
- VRF: https://github.com/dchaebae/betblock-contracts/blob/main/contracts/Roulette.sol#L107
- Automation: https://github.com/dchaebae/betblock-contracts/blob/main/contracts/Roulette.sol#L295
- Data Feeds: https://github.com/dchaebae/betblock-contracts/blob/main/contracts/PolygonLending.sol#L42
- Functions: https://github.com/dchaebae/betblock-contracts/blob/main/contracts/ProfileNFTContract.sol#L104
- Deployed Contract Addresses: https://github.com/dchaebae/betblock-contracts/blob/main/README.md
Challenges we ran into
- Learning how to correctly integrate multiple Chainlink products
- Learning to deploy contracts to multiple blockchains
- Chainlink Functions takes 256bytes back. Really tough to work with, but we had a work around!
Accomplishments that we're proud of
- Successfully deploying on multiple chains and being able to properly use the dApp to fit our vision
- Creating our own API and self hosted IPFS server
- Successfully implementing 4 Chainlink products to our solution
- Designing a future implementation for a 5th Chainlink product
What we learned
- How to use chainlink products
- How to create an IPFS server
- How to design a lending protocol
What's next for BetBlock
- Continue researching CCIP for defi lending to enable a cross-chain lending experience
- Allowing to multiple assets to be used as collateral when borrowing
- Update lending protocol to have liquidation logic and an interest rate mechanism


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