/Tic-Tac-Chain

A Blockchain-based TicTacToe game where people can bet and win real Ether.

Primary LanguageJavaScriptMIT LicenseMIT

People love playing games, with friends, family, or even strangers. But you know what people love more? Earning easy money for winning those games! So we took the nostalgic game of TicTacToe, and hacked it to make it more cooler. TicTacChain is a Blockchain-based game where you can gamble in real Ethers (ETH). Sounds money, right?

What it Does?


A fun multiplayer web3.0-based game, TicTacChain is a semi-DAPP (decentralized application) where people can play against other, real people and win Ethers (ETH). Two people go down against each other into an ultimate showdown of wits betting cryptocurrency; the winner takes it all!

Technologies Used 💻


Here are the technologies that went into building this game:

  • Solidity + Truffle for building the smart contracts for Ethereum Blockchain
  • Rinkeby Test Network, an Ethereum testnet (test blockchain) for deploying the smart contracts
  • Web3.js as the middleware/interface between client-side application and the deployed smart contracts
  • React.js for the client-side application
  • Node.js for building the server-side application
  • Socket.io as the WebSocket provider for multiplayer functionality

Prerequisites To Play ⁉


In order to play the game, you require either of the two things:

  1. A blockchain-powered web browser with an integrated cypto-wallet or
  2. Metamask browser extension that transforms your regular browser into a blockchain supported browser.

Install and Develop Locally 🏡


The following are the list of requirements for developing the project locally:

  • Solidity + Ganache + Truffle for working with the smart contracts locally.
  • npm and Node.js for serverside and client-side development
  • Metamask (optional) as the Web3 provider

To install all the required dependencies on both the client and server-side, just use the following command (assuming you are in the project root):

  1. Installing client-side dependencies:
cd client/
npm install
  1. Installing server-side dependencies:
cd server/
npm install