Slay The Metaverse

A decentralized NFT coop fighting game

Join your friends and kill bosses together for prizes

Recordit GIF

Developed Using

  • Ganache for Ethereum Blockchain testing
  • Hardhat for smart contracts creation and deployment
  • ERC721 NFT standards with openzeppelin
  • ether, VueJs with Vuex Store

Key Features

  • Choose which character to mint and link to your wallet adress
  • characters meta data is stored offchain
  • each player can help fight the big boss each attack is a transaction that is stored on the blockchain
  • once the boss dies the most dammage dealers receive rare nft rewards


  • All the code required to get started


  • Clone this repo to your local machine using


  • Install Ganache
  • Install Hardhat
npm install --save-dev hardhat
  • Install Depnedencies
npm install
  • Start Ganache
  • make sure that HardHat is linked to ganache in hardhat.config.js

localhost: {
      url: ""
  • Install Metamask and link it to ganache

  • to check that hardnet is linked to ganache check for the available accounts

npx hardhat --network localhost accounts
  • compile contracts
npx hardhat --network localhost compile
  • set this to fix openssl envelope issues on the console
export NODE_OPTIONS=--openssl-legacy-provider
  • compile contracts
npx hardhat --network localhost compile
  • Deploy the contract to the blockchain using the deployment script
npx hardhat --network localhost run ./scripts/deploy.js

the output of this command give you the contract adreses that you need to put it in vuex frontend file : frontend/src/store/index.js

    contract_address: "0x4fdeC56e37aa2BF685B35A34dA66074e8E34585a",

now lets start the frontend to do so :

cd frontend
  • Install Depnedencies
npm install
  • Install Vue
npm install vue
  • Run frontend and enjoy the game ?
npm run serve


To get started…

Step 1

  • Option 1

    • ? Fork this repo!
  • Option 2

    • ? Clone this repo to your local machine using

Step 2

  • HACK AWAY! ???

Step 3


View Github