Skip to content

ahmetikbal/gamestagram-web3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

62 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Gamestagram Web3 - Blockchain Gaming Marketplace

A revolutionary mobile gaming marketplace built on the Stellar blockchain, featuring Passkey authentication, play-to-earn mechanics, and decentralized gaming experiences.

๐ŸŒŸ Features

๐Ÿ” Web3 Authentication

  • Passkey Support: Secure biometric authentication using WebAuthn
  • Stellar Wallet Integration: Built-in cryptocurrency wallet for each user
  • Decentralized Identity: Self-sovereign identity management

๐ŸŽฎ Gaming Features

  • TikTok-style Interface: Swipe through games with smooth animations
  • Play-to-Earn: Earn XLM and GAME tokens while playing
  • Smart Contract Integration: Automated rewards and payments via Soroban
  • NFT Support: Collect and trade in-game NFTs

๐Ÿ’ฐ Blockchain Features

  • Stellar Network: Fast, low-cost transactions
  • Launchtube Integration: Fee sponsorship for seamless UX
  • Soroban Smart Contracts: Automated game logic and rewards
  • Multi-token Support: XLM, GAME tokens, and custom game tokens

๐Ÿ—๏ธ Developer Features

  • Revenue Sharing: Transparent and instant payments
  • Analytics Dashboard: Real-time game performance metrics
  • Staking Pools: Earn passive income from game performance

๐Ÿš€ Getting Started

Prerequisites

  • Flutter SDK 3.7.2 or higher
  • Dart SDK 2.14.0 or higher
  • Android Studio / Xcode for mobile development
  • Stellar Testnet account for development

Installation

  1. Clone the repository

    git clone https://github.com/your-username/gamestagram-web3.git
    cd gamestagram-web3
  2. Install dependencies

    flutter pub get
  3. Generate model files

    flutter packages pub run build_runner build
  4. Configure Web3 services

    • Update Stellar network configuration in lib/services/stellar_service.dart
    • Configure Soroban smart contract addresses
    • Set up Launchtube integration
  5. Run the application

    flutter run

๐Ÿ—๏ธ Architecture

Core Components

lib/
โ”œโ”€โ”€ application/
โ”‚   โ””โ”€โ”€ view_models/
โ”‚       โ”œโ”€โ”€ web3_auth_view_model.dart      # Web3 authentication state
โ”‚       โ””โ”€โ”€ web3_game_view_model.dart      # Game interactions state
โ”œโ”€โ”€ data/
โ”‚   โ””โ”€โ”€ models/
โ”‚       โ”œโ”€โ”€ user_model.dart                # User with Web3 features
โ”‚       โ””โ”€โ”€ game_model.dart                # Game with blockchain metadata
โ”œโ”€โ”€ services/
โ”‚   โ”œโ”€โ”€ stellar_service.dart               # Stellar blockchain operations
โ”‚   โ”œโ”€โ”€ soroban_service.dart               # Smart contract interactions
โ”‚   โ”œโ”€โ”€ passkey_service.dart               # WebAuthn authentication
โ”‚   โ”œโ”€โ”€ launchtube_service.dart            # Fee sponsorship
โ”‚   โ”œโ”€โ”€ web3_auth_service.dart             # Combined Web3 auth
โ”‚   โ””โ”€โ”€ web3_game_service.dart             # Web3 game operations
โ””โ”€โ”€ presentation/
    โ””โ”€โ”€ screens/
        โ”œโ”€โ”€ web3_welcome_screen.dart        # Web3 onboarding
        โ”œโ”€โ”€ web3_login_screen.dart          # Passkey login
        โ””โ”€โ”€ web3_registration_screen.dart   # Web3 account creation

Technology Stack

  • Frontend: Flutter 3.7.2
  • Blockchain: Stellar Network
  • Smart Contracts: Soroban (Rust)
  • Authentication: WebAuthn / Passkeys
  • Fee Sponsorship: Launchtube
  • State Management: Provider + ChangeNotifier
  • Dependency Injection: GetIt

๐Ÿ”ง Configuration

Stellar Network Setup

  1. Testnet Configuration (Default)

    static const String _networkUrl = 'https://horizon-testnet.stellar.org';
    static const String _networkPassphrase = 'Test SDF Network ; September 2015';
  2. Mainnet Configuration (Production)

    static const String _networkUrl = 'https://horizon.stellar.org';
    static const String _networkPassphrase = 'Public Global Stellar Network ; September 2015';

Smart Contract Deployment

  1. Deploy Game Rewards Contract

    # Compile Soroban contract
    soroban contract build
    
    # Deploy to testnet
    soroban contract deploy --network testnet --source admin target/wasm32-unknown-unknown/release/game_rewards.wasm
  2. Deploy Developer Payments Contract

    soroban contract deploy --network testnet --source admin target/wasm32-unknown-unknown/release/developer_payments.wasm

Launchtube Integration

Configure fee sponsorship in lib/services/launchtube_service.dart:

static const String _launchtubeUrl = 'https://launchtube.stellar.org';
static const String _testnetUrl = 'https://launchtube-testnet.stellar.org';

๐ŸŽฎ Usage

For Players

  1. Create Web3 Account

    • Download the app
    • Register with username and email
    • Complete Passkey setup
    • Receive Stellar wallet and recovery phrase
  2. Start Gaming

    • Swipe through available games
    • Play games to earn XLM and GAME tokens
    • Complete achievements for bonus rewards
    • Trade NFTs in the marketplace
  3. Manage Wallet

    • View balances and transaction history
    • Stake tokens in developer pools
    • Withdraw earnings to external wallets

For Developers

  1. Publish Games

    • Upload HTML5 games
    • Configure smart contract parameters
    • Set pricing and reward structures
  2. Monitor Performance

    • Track player engagement metrics
    • View revenue analytics
    • Manage staking pools
  3. Earn Revenue

    • Receive instant payments via smart contracts
    • Earn from staking pools
    • Collect platform fees

๐Ÿ”’ Security Features

  • Passkey Authentication: Biometric security with WebAuthn
  • Secure Key Storage: Encrypted storage using Flutter Secure Storage
  • Smart Contract Audits: All contracts audited for security
  • Transaction Signing: Secure transaction signing with hardware wallets
  • Fee Sponsorship: Launchtube integration prevents fee-related attacks

๐ŸŒ Network Information

Stellar Testnet

Soroban Testnet

๐Ÿ“ฑ Platform Support

  • iOS: 12.0+
  • Android: API Level 21+
  • Web: Chrome 67+, Firefox 60+, Safari 13+

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow Flutter best practices
  • Write comprehensive tests
  • Update documentation for new features
  • Ensure Web3 security best practices
  • Test on both testnet and mainnet

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Stellar Development Foundation for the blockchain infrastructure
  • Soroban Team for smart contract platform
  • Launchtube for fee sponsorship service
  • WebAuthn Community for authentication standards

๐Ÿ“ž Support

๐Ÿ”ฎ Roadmap

Phase 1: MVP (Current)

  • โœ… Web3 authentication with Passkeys
  • โœ… Stellar wallet integration
  • โœ… Basic game marketplace
  • โœ… Play-to-earn mechanics

Phase 2: Enhanced Features

  • ๐Ÿ”„ Advanced smart contracts
  • ๐Ÿ”„ NFT marketplace
  • ๐Ÿ”„ Developer analytics dashboard
  • ๐Ÿ”„ Cross-chain integration

Phase 3: Ecosystem Expansion

  • ๐Ÿ“‹ Multi-chain support
  • ๐Ÿ“‹ Advanced staking mechanisms
  • ๐Ÿ“‹ DAO governance
  • ๐Ÿ“‹ Mobile SDK for developers

Built with โค๏ธ on the Stellar Network

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •