Ever wondered about GameRoom is the answer.
Comprehensive gaming platform with encrypted data. All gaming activities stay private.
Most dApps are like glass houses. GameRoom gives you walls.
The system consists of 3 main contracts:
- GamingPlatform.sol - Handles the core functionality
- DataVault.sol - Handles the core functionality
- AchievementTracker.sol - Handles the core functionality
Everything is encrypted using Zama's FHEVM. Your data stays private, but you can still perform operations on it. When you need to see the actual values, you authorize decryption through the Relayer SDK.
Under the hood, we're leveraging:
- @fhevm/solidity v0.9.1 - For encrypted operations in Solidity
- @zama-fhe/relayer-sdk v0.3.0 - Off-chain decryption service
- Hardhat - Development and deployment
- TypeScript - Type safety and better DX
- Next.js - Frontend framework
Clone the repo and install dependencies:
npm installSet up your .env file (copy from env.template) with your Sepolia RPC URL and private key.
Compile the contracts:
npx hardhat compileDeploy to Sepolia:
npx hardhat run scripts/deploy.ts --network sepoliaContract addresses will be saved to contracts.json.
The frontend is a Next.js app. Navigate to the rontend directory:
cd frontend
npm installCreate a .env.local file with your contract addresses, then:
npm run devOpen http://localhost:3000 and connect your wallet.
Performance isn't perfect yet. Encryption operations take time and gas. The relayer is centralized. But hey, privacy isn't free, and we're making progress.
Next up: decentralized relayers, performance improvements, and expanding what we can do with encrypted data.
MIT - use it however you want. Just don't blame us if something breaks.