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
- 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
- Migration on Starknet
- Use core contracts for others services (Crowfounding, Sports bet, lobbying activites)
Clone the repository on your local machine
$ git clone https://github.com/pgrandne/NoPoolNoGame.git
We use React. The Front End scripts are in "client" folder. If you want to launch the Front End locally:
- Go to "client" folder
$ cd client
- Install the dependencies
$ npm install
- Launch the server locally
$ npm start
- 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
We use Hardhat
- Go to "core" folder
$ cd core
- Install the dependencies
$ npm install
- The 3 contrats are available in "contracts" folder
$ cd contracts
-
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
-
We have configured 3 networks in
hardhat.config.js
:- Ehtereum Goerli
- Mainnet Optimism
- Polygon Mumbai
-
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");
-
Compile and deploy the contract:
$ npx hardhat compile
$ npx hardhat run --network goerli scripts/deploy.js
- Verify the contract on Etherscan
$ npx hardhat verify --network goerli