peterduhon / skia-poker-morph

Trustless Tricksters: A decentralized poker game built on Morph zkEVM. Featuring secure card shuffling, Chainlink VRF for fairness, Galadriel AI agents, XMTP chat, and Web3Auth login. Experience the future of poker on the blockchain. 🃏🔐🚀
3 stars 0 forks source link

Skia Poker

Skia Poker is a decentralized poker game built on the Morph zkEVM platform, leveraging blockchain technology and zero-knowledge proofs to provide a fair, secure, and transparent gaming experience. The project aims to revolutionize the online poker landscape by addressing the challenges of fraud and trust in traditional Web2 poker platforms.

Project Goals

PRD1

PRD2

Technology Stack

Project Structure

Development Tracking

We use GitHub Issues to track development tickets and spikes. Each ticket or spike will be created as an issue, assigned to the appropriate team member, and labeled accordingly. Progress and discussions related to each ticket or spike will be managed within the respective issue.

Getting Started

  1. Clone the repository:

    • Use the following command to clone the repository to your local machine:
      git clone https://github.com/peterduhon/skia-poker-morph.git
    • Navigate to the project directory:
      cd skia-poker-morph
  2. Install the necessary dependencies for the frontend:

    • Navigate to the frontend/ directory:
      cd frontend
    • Install the required npm packages:
      npm install
    • Return to the main project directory:
      cd ..
  3. Install the necessary dependencies for the backend:

    • Navigate to the backend/ directory:
      cd backend
    • Install the required npm packages (or other package manager if applicable):
      npm install
    • Return to the main project directory:
      cd ..
  4. Set up the development environment:

    • Ensure you have the necessary tools installed, such as Node.js, npm, and a Solidity development environment like Hardhat or Truffle.
    • Configure environment variables (if applicable) in a .env file. Example:
      REACT_APP_WEB3AUTH_CLIENT_ID=your_web3auth_client_id
      REACT_APP_CHAIN_ID=your_chain_id
    • For backend services, configure any necessary API keys or database connections.
  5. Compile and deploy the smart contracts:

    • Navigate to the contracts/ directory:
      cd contracts
    • Compile the smart contracts:
      npx hardhat compile
    • Deploy the contracts to the Morph zkEVM testnet:
      npx hardhat run scripts/deploy.js --network testnet
    • Ensure to replace testnet with the actual network configuration if using a different network.
  6. Run the frontend application:

    • Navigate back to the frontend/ directory:
      cd frontend
    • Start the development server:
      npm start
  7. Run the backend application (if applicable):

    • Navigate to the backend/ directory:
      cd backend
    • Start the backend server:
      npm start
  8. Access the application:

    • Once the frontend server is running, open your web browser and navigate to http://localhost:3000 to see the Skia Poker interface.

Contributing

We welcome contributions from the community! If you'd like to contribute to Skia Poker, please follow these steps:

  1. Fork the repository
  2. Create a new branch for your feature or bug fix
  3. Commit your changes and push the branch to your fork
  4. Submit a pull request, describing your changes and their purpose

Please make sure to adhere to the project's coding standards and guidelines, and include appropriate tests and documentation with your contributions.

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Contact

If you have any questions, suggestions, or feedback, please feel free to reach out to the project maintainers:

Let's revolutionize the online poker experience together with Skia Poker!