A lot of crypto roulettes are said to be decentralized but are hosted by some gaming app or gaming company. This one should be completely “owner-less”, with the frontend on IPFS/Filecoin and allowing anyone to be the casino and to define the rules for the table. After the initial setup, he would receive a “table” and then would be able to promote the table to interested players. Several different tables could exist at the same time, with different configurations.
The main “roulette” contract would use chainlink for randomness and use gelato to automate the roulette spin.
The tables could be NFTs and also the achievements in the game.
We used the following tech stack: Angular 13, Bootstrap, Web3.js. Solidity, Gelato, ChainLink, NFTPort, IPFS. Due to limited time we used Ang13 with bootstrap to build the minimalistic Roulette Tables and Main page. Web3.js was used to create Contract Instance and capture Contract Events. Using Gelato we call chainlink to fetch the generated random number and then pass it to the front-end via solidity contract events.