project screenshot 1
project screenshot 2
project screenshot 3

Band4Band

Band4Band is a blockchain-based platform that allows users to engage in band-versus-band matches while wagering cryptocurrency. Users can connect their wallets via MetaMask, create profiles, and participate in matches where the winner receives $1000 from the loser.

Band4Band

Created At

ETHGlobal New York

Project Description

  1. User connects with metamask
  2. User creates a profile for that specific wallet
  3. Wallet address stays anon until the end of each match
  4. Go band for band until you cant anymore (reveal your net worth in $1000 increments)
  5. Loser loses $1000 to the winner in an instant transfer
  6. Both users' wallet address and amounts are revealed at the end of the match

How it's Made

  1. User Authentication with MetaMask: Use web development technologies like HTML, CSS, and JavaScript to create a front-end interface. Integrate MetaMask for user wallet management and authentication. Utilize MetaMask's JavaScript library for interacting with the user's Ethereum wallet.

  2. User Profile Creation: Implement a web form that allows users to create a profile for their specific wallet. Collect relevant user information, such as username, profile picture, and any other required details.

  3. Anonymity Until the End of Each Match: Store user profiles and wallet addresses off-chain in a traditional database, ensuring anonymity. Use smart contracts on the Ethereum blockchain to manage and trigger events for matches.

  4. Band for Band Matches: Develop a smart contract for handling band-versus-band matches. Each match should be a unique instance of this contract. Use a randomization algorithm for selecting winners or losers in a fair and unbiased way.

  5. Instant Transfer of Funds: Leverage blockchain technology to enable instant cryptocurrency transfers. Ethereum's native cryptocurrency, Ether, is suitable for this purpose. Use smart contracts to manage the transfer of $1000 in cryptocurrency from the loser's wallet to the winner's wallet. Implement safeguards to prevent cheating or manipulation.

  6. Reveal Wallet Addresses and Amounts: At the end of each match, trigger a smart contract function to reveal the wallet addresses and amounts. Make this information publicly accessible on the blockchain so that it can be independently verified.

Technologies Used:

Solidity for the smart contracts that handle user profiles, matches, and fund transfers. Web3.js To interact with the Ethereum blockchain from the front-end. MetaMask: For user wallet management and authentication. HTML, CSS, Typescript, React for creating the front-end user interface and forms. A traditional database (e.g., MySQL or MongoDB): To store user profiles and wallet addresses off-chain. Node.js and a web framework like Express.js: To build the back-end for handling user data and interactions with smart contracts.

background image mobile

Join the mailing list

Get the latest news and updates