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.
- Develop a fully decentralized poker game with smart contracts managing gameplay and player interactions
- Integrate Chainlink VRF for provably fair random number generation
- Create an intuitive and responsive user interface for seamless gameplay
- Ensure compatibility with popular Web3 wallets (MetaMask, Coinbase, Rainbow) for secure authentication and transactions
- Implement Web3Auth for a seamless and secure authentication experience
- Introduce AI-powered opponents using Galadriel AI for challenging gameplay
- Implement secure messaging using XMTP for player communication
- Integrate POKT Network for decentralized infrastructure and improved performance
- Explore cross-chain capabilities with Axelar Network for asset transfer and interoperability
- Morph zkEVM: Blockchain platform for deploying smart contracts
- Chainlink VRF: Verifiable random number generation for fair gameplay
- React: Frontend framework for building the user interface
- Web3.js: Library for interacting with the Ethereum blockchain
- Web3Auth: Secure wallet authentication and management
- XMTP: Decentralized messaging protocol for secure player communication
- Galadriel AI: Platform for creating intelligent poker agents
- POKT Network: Decentralized infrastructure for improved performance and reliability
- Axelar Network: Cross-chain communication and asset transfer capabilities
contracts/
: Solidity smart contracts for gameplay and player managementfrontend/
: React frontend code for the user interfacebackend/
: Backend services and APIs (if applicable)docs/
: Project documentation, including meeting notes and research spikesresources/
: Project resources, including PRDs, project brief, and coding resource document
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.
-
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
- Use the following command to clone the repository to your local machine:
-
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 ..
- Navigate to the
-
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 ..
- Navigate to the
-
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.
-
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.
- Navigate to the
-
Run the frontend application:
- Navigate back to the
frontend/
directory:cd frontend
- Start the development server:
npm start
- Navigate back to the
-
Run the backend application (if applicable):
- Navigate to the
backend/
directory:cd backend
- Start the backend server:
npm start
- Navigate to the
-
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.
- Once the frontend server is running, open your web browser and navigate to
We welcome contributions from the community! If you'd like to contribute to Skia Poker, please follow these steps:
- Fork the repository
- Create a new branch for your feature or bug fix
- Commit your changes and push the branch to your fork
- 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.
This project is licensed under the MIT License. See the LICENSE file for more information.
If you have any questions, suggestions, or feedback, please feel free to reach out to the project maintainers:
- Pete (Product Manager): [email protected]
- James (Full Stack Developer): [email protected]
Let's revolutionize the online poker experience together with Skia Poker!