tag is a real-time multiplayer game built on Bitcoin SV's 1SatOrdinals protocol, featuring the iconic **10 million Pixel Foxes** from [Pixel Foxes](https://x.com/foxespixel). Since its launch on **September 21, 2024 at 3:18:09 PM**, the game has facilitated **428+ tags** across **10 million potential players**. Will tag become the largest and most well-documented game of tag ever?
- Real-time Multiplayer: Live tag gameplay with instant blockchain verification
- 1SatOrdinals Integration: Every tag is permanently recorded in inscriptions on Bitcoin SV
- Space Rocks Collectibles: Dynamic collectibles colored by the last 6 hex digits of the latest Bitcoin block hash
- BountyFoxes Rewards: Win individual Bounty Foxes and Bounty Foxes Groups when making successful tags
- Mobile-Friendly Foxes: Collect special Mobile-Friendly Foxes through SHUAllet integration
- Dual Wallet Support:
- Mobile: SHUAllet.js for mobile wallets
- Browser: Yours Wallet extension
- Spectator Mode: Watch games without participating
- Dynamic Chaser System: New chaser every 30 seconds
- Projectiles: Chasers can shoot projectiles at other players
- Live Statistics: Real-time player counts, game numbers, and activity tracking
The game consists of three main components:
- React + TypeScript application
- Real-time canvas-based game engine
- Socket.io client for live multiplayer
- Responsive design for mobile and desktop
- Integration with both SHUAllet and Yours Wallet
- Node.js + TypeScript real-time game server
- Socket.io for live player synchronization
- Game state management and collision detection
- Player assignment and chaser rotation
- Activity tracking and blockchain integration
- Space rock generation and block hash monitoring
- Bounty Foxes assignments & sends
- Bun + TypeScript blockchain transaction server
- 1SatOrdinals inscription creation
- Bitcoin SV transaction handling
- Game metadata storage on-chain
- Space rock inscription with dynamic SVG generation
- Mobile-Friendly Foxes and Bounty Foxes distribution
- Arrow Keys or WASD: Move your character
- B: Boost speed (for all players)
- N: Shoot projectiles (chaser only)
- Joystick, zoom, full-screen, and shoot buttons available on mobile devices
- Chaser Selection: A new chaser is randomly selected every 30 seconds
- Tagging: Chaser must touch other players to tag them
- Projectiles: Chaser can shoot projectiles to tag from a distance
- Blockchain Recording: Every successful tag is permanently recorded on Bitcoin SV
- BountyFoxes Rewards: Successful tags can reward you with individual BountyFoxes or BountyFoxes groups
- Space Rocks: Collect dynamic space rocks colored by the latest Bitcoin block hash
- Spectator Mode: Watch games without participating
- Tagged Foxes Are Out Forever: Once you're out, you're out forever
- Mobile Users: Connect with SHUAllet.js for seamless mobile gameplay and access to mobile-friendly foxes
- Desktop Users: Use Yours Wallet browser extension
- Automatic Routing: Game automatically detects wallet type and routes accordingly
- Total Tags: 428+ (and counting)
- Potential Players: 10 million
- Launch Date: September 21, 2024, 3:18:09 PM
- Current Epoch: 1
- Current Game Number: Real-time tracking
- Active Players: Live count displayed in-game
- Space Rocks: Dynamic collectibles with blockchain-generated colors
- BountyFoxes Distributed: Individual and group rewards for successful tags
- Mobile-Friendly Foxes: SHUAllet-exclusive foxes for mobile players
- Node.js v20.13.0+
- Bun (for transaction server)
- Git
- Clone the repository
git clone <repository-url>
cd tag- Frontend Setup
cd frontend
npm install
npm start- Socket Server Setup
cd socket_server
npm install
npm start- Transaction Server Setup
cd transaction_server
bun install
# Copy .env.example to .env and configure your WIF keys
bun run index.tsCreate .env files in both server directories:
socket_server/.env
PORT=5000transaction_server/.env
TAG_ONE_THOUSAND_PAYMENT_WIF=your_payment_wif
TAG_ORD_WIF=your_ord_wif
TAG_SIGNING_WIF=your_signing_wif- React 18 with TypeScript
- Socket.io Client for real-time communication
- Canvas API for game rendering
- Material-UI for UI components
- Framer Motion for animations
- Node.js with TypeScript
- Socket.io for real-time multiplayer
- Express.js for REST APIs
- Bun for high-performance transaction server
- Bitcoin SV for transactions
- 1SatOrdinals for game metadata
- BSV SDK for blockchain operations
- js-1sat-ord for ordinals handling
1SatOrdinals is a simple, powerful token protocol built on Bitcoin SV that enables fast, inexpensive, and fully scriptable ordinals via native Bitcoin Script. Our game leverages this protocol for all blockchain interactions.
The js-1sat-ord library is a JavaScript library for creating and managing 1SatOrdinal inscriptions and transactions. It uses @bsv/sdk under the hood and provides essential functionality for our game:
For more information, visit the js-1sat-ord GitHub repository.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Game mechanics improvements
- UI/UX enhancements
- Performance optimizations
- New game modes
- Wallet integrations
- Much more
- GitHub Issues: Report bugs and request features
- Pull Requests: Contribute to the codebase
This project is licensed under the MIT License - see the LICENSE file for details.
- Pixel Foxes for the iconic 10 million Pixel Foxes that bring the game to life and facilitate massive scale
- SHUAllet.js for mobile wallet integration
- Yours Wallet for browser extension support
- Bitcoin SV community for blockchain infrastructure
- All contributors and players who make this game possible