Search projects, hackathons, sponsors and tech

    ← All projects

    Mastermind

    Mastermind on Base: Play, Win, and Earn with Transparent, Gasless Transactions!

    About

    The problem it solves ### Problem Solved by the Project This blockchain-based Mastermind game addresses several key issues: 1.**Trust and Transparency:** Traditional Mastermind games require trust between players regarding the honesty of the Code Maker. By using a smart contract, the game ensures transparency and fairness, as the secret code and feedback are managed on-chain. 2.**Decentralization:** The game operates in a decentralized manner, removing the need for a centralized authority or server. This enhances security and ensures the game is always accessible. 3.**Immutable Records:** Using blockchain (Base), the game keeps immutable records of each game session, including moves and outcomes, providing a reliable and tamper-proof game history. 4.**NFT Rewards:** The game incentivizes players by awarding NFTs to the winners. These NFTs represent their achievements and can be traded or showcased, adding a layer of value and engagement. 5.**Gasless Transactions:** By integrating Thirdweb Paymaster, the project allows for gasless transactions. This eliminates the need for players to hold ETH for gas fees, making the game more accessible and reducing barriers to entry for new users.

    How it's made

    Challenges we ran into ### Thirdweb Integration We faced several challenges while integrating Thirdweb Paymaster due to outdated resources on their YouTube channel. We had to watch many videos and read the documentation extensively to overcome these issues. ### Coinbase Smart Wallet Integration Integrating the Coinbase Smart Wallet also posed challenges. Specifically, Coinbase Wallet did not work on Google Chrome and Brave browsers after the secret phrase phase for creating new wallets for new users. When users tried to connect their wallets, they encountered issues. Here is the code snippet we used: ```sh const wallets = [inAppWallet(), createWallet("com.coinbase.wallet")] <ContractButton ... wallets={wallets} /> ``` To work around these issues, we used MetaMask and other wallets, which worked fine with Thirdweb smart wallets. **Note:** For a better experience with the Coinbase Smart Wallet, we recommend using Microsoft Edge, as it avoids the issues present in Chrome and Brave.