Skip to content

pgrandne/no-pool-no-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 

Repository files navigation

NoPoolNoGame

No Pool No Game is a GameFi with no loosers, where the winners share the interests generated by the deposits of all the participants. We've been widely inspired by PoolTogether which uses the same concept but for a lottery. On our project we wanted to remove the random factor, and replace it by the skill factor, so the best players can change the odds in their favor.

No Pool No Game is open source, you can find all the project in this repository. This repository has 2 folders:

  • client for Front End
  • core for Core Contracts

Roadmap

ShortTerm

  • Add First Game
  • Add Deposit
  • Add Transaction for First Game
  • Add Withdraw
  • Add Claims for Rewards
  • Add Pending button
  • Add Toast
  • Improve float
  • Refactoring CSS+HTML+Responsive

LongTerm

  • [ ]
  • Migration on Starknet (optional)
  • Use core contracts for others services (Crowfounding, Sports bet, lobbying activites)

Building NoPoolNoGame

Clone the project

Clone the repository on your local machine

$ git clone https://github.com/pgrandne/NoPoolNoGame.git

Front End

We use React. The Front End scripts are in "client" folder. If you want to launch the Front End locally:

  1. Go to "client" folder
$ cd client
  1. Install the dependencies
$ npm install
  1. Launch the server locally
$ npm start
  1. Open your browser and go to http://localhost:3000 The backend server must be launched to display and interact with the catalog Please follow next section for installing and deploying backend server

Core Contracts

We use Hardhat

  1. Go to "core" folder
$ cd core
  1. Install the dependencies
$ npm install
  1. The 3 contrats are available in "contracts" folder
$ cd contracts
  1. We use .env for environment variables. Change the name of env.example to .env and fill in the 3 variables :

    • We use ALCHEMY_ID for the provider
    • We use PRIVATE KEY for the deployment
    • We use ETHERSCAN_API for contracts verification
  2. We have configured 3 networks in hardhat.config.js:

    • Ehtereum Goerli
    • Mainnet Optimism
    • Polygon Mumbai
  3. For deploying a contract, go to "scripts" folder and open deploy.js. Replace the parameter of ContractFactory by the name of the contract that you want to deploy: const Contract = await ethers.getContractFactory("NpngPool");

  4. Compile and deploy the contract:

$ npx hardhat compile
$ npx hardhat run --network goerli scripts/deploy.js
  1. Verify the contract on Etherscan
$ npx hardhat verify --network goerli