How revulakshman/coinflip_solana_wallet works
This is a React/Solana Devnet coin-flip betting game. A player connects a wallet, chooses a side and bet, submits a bet transaction, sees a client-generated flip result, and can view game history and statistics. The sampled code shows transaction submission and simulated winnings; the flip is explicitly demo randomness, not verifiable randomness. UI primitives are grouped as a shared layer. Several listed UI modules and unsampled parts of CoinFlip were not inspected, so the graph omits unsupported details.
Main entry points: CoinFlip.tsx Coin flip game · App.tsx App shell · WalletContextProvider.tsx Wallet context · solana.ts Bet transaction
Components 15
Game experience
- App shell
src/App.tsx - Game page
src/pages/Index.tsx - Coin flip game
src/components/CoinFlip.tsx - Game state, history, stats
src/components/CoinFlip.tsx - Not-found page
src/pages/NotFound.tsx
Wallet and Solana
- Wallet context
src/contexts/WalletContextProvider.tsx - Bet transaction
src/utils/solana.ts - Flip logic
src/utils/solana.ts - Winnings transaction
src/utils/solana.ts - Solana Devnet RPC
- Phantom, Solflare
Shared UI
- UI primitives
src/components/ui - Toast state
src/hooks/use-toast.ts - Toast renderer
src/components/ui/toaster.tsx
Other components
- Player
Connections 18
- Player → App shell: opens
- App shell → Game page: routes to
src/App.tsx - App shell → Wallet context: provides wallet
src/App.tsx - App shell → Toast renderer: renders
src/App.tsx - App shell → Not-found page: fallback route
src/App.tsx - Game page → Coin flip game: renders
src/pages/Index.tsx - Coin flip game → Game state, history, stats: updates
src/components/CoinFlip.tsx - Coin flip game → Bet transaction: submits bet
src/components/CoinFlip.tsx - Coin flip game → Flip logic: gets result
src/components/CoinFlip.tsx - Coin flip game → Winnings transaction: requests payout
src/components/CoinFlip.tsx - Coin flip game → UI primitives: renders with
src/components/CoinFlip.tsx - Coin flip game → Wallet context: reads wallet
- Wallet context → Solana Devnet RPC: configures Devnet
src/contexts/WalletContextProvider.tsx - Wallet context → Phantom, Solflare: registers
src/contexts/WalletContextProvider.tsx - Bet transaction → Solana Devnet RPC: sends transaction
src/utils/solana.ts - Bet transaction → Phantom, Solflare: requests signature
src/utils/solana.ts - Winnings transaction → Solana Devnet RPC: simulates payout
src/utils/solana.ts - Toast renderer → Toast state: reads toast state
src/components/ui/toaster.tsx