A multiplayer trivia game built on Linera blockchain with betting, leaderboard, and admin question management.
trivia-battle/
├── abi/ # Shared types (questions, leaderboard, etc.)
├── bankroll/ # Token / betting logic
├── trivia/ # Main game contract (rooms, gameplay)
├── master/ # Admin contract (question bank, fees)
├── frontend/ # Frontend
├── Cargo.toml # Workspace
└── README.md # This file
- Create/join trivia rooms with bets
- Real-time gameplay
- Global leaderboard
- Admin question management
- Protocol fees collected to treasury
Prerequisites
- Rust (stable)
- Linera CLI (
cargo install linera-cli) - Flutter (for frontend)
cargo build --release --workspace
linera net up --with-faucet
Keep this running.
# In master folder
linera publish-and-create target/wasm32-unknown-unknown/release/master.wasm
# In trivia folder (use master app ID as parameter)
linera publish-and-create target/wasm32-unknown-unknown/release/trivia.wasm --parameters "<master_app_id>"
# In bankroll folder
linera publish-and-create target/wasm32-unknown-unknown/release/bankroll.wasm
cd frontend
pnpm install
pnpm dev
Open http://localhost:8080 (or port shown)
- master -> Central question bank + treasury
- trivia -> Game rooms and gameplay
- bankroll -> Token handling for bets
- abi -> Shared types between contracts
# Build all
cargo build --release --workspace
# Clean
cargo clean
# Format
cargo fmt --all
- Daily bonuses
- NFT rewards
- Tournaments
- Mobile app
Happy battling! 🚀💰⚡
Built with ❤️ on Linera blockchain
