> ## Documentation Index
> Fetch the complete documentation index at: https://dubhe.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Dubhe Engine Quick Start - Build Your First On-Chain App in Minutes

> Get started with Dubhe Engine in under 10 minutes. Learn to build scalable, fully on-chain applications using ECS architecture and Move smart contracts.

<div className="guide-hero">
  <h1>🚀 Developer Guide</h1>

  <p className="lead-text">
    Master the art of building fully on-chain applications with Dubhe Engine
  </p>
</div>

<Info>
  **Prerequisites:** Basic knowledge of blockchain concepts and TypeScript/JavaScript programming
</Info>

## What is Dubhe Engine?

<Cards>
  <Card title="Open-Source Framework" icon="code-branch">
    Community-driven development with full transparency and collaboration
  </Card>

  <Card title="High Performance" icon="gauge-high">
    Optimized for real-time applications with minimal latency
  </Card>

  <Card title="Move-Native" icon="cube">
    Built specifically for the Move ecosystem and its unique capabilities
  </Card>

  <Card title="Production Ready" icon="shield-check">
    Battle-tested in production with enterprise-grade reliability
  </Card>
</Cards>

## 🏗️ Core Architecture

<Tip>
  Dubhe uses the **Entity Component System (ECS)** pattern - the same architecture powering AAA game engines like Unity DOTS and Unreal Engine
</Tip>

<CardGroup cols={3}>
  <Card title="Entities" icon="circle" color="#667eea">
    **Unique identifiers** for objects in your application world
  </Card>

  <Card title="Components" icon="cube" color="#764ba2">
    **Data containers** that store entity attributes and state
  </Card>

  <Card title="Systems" icon="gears" color="#f59e0b">
    **Logic processors** that transform component data
  </Card>
</CardGroup>

<Accordion title="Why ECS Architecture?">
  ECS provides several advantages for on-chain applications:

  * **Performance**: Data-oriented design optimizes for cache efficiency
  * **Flexibility**: Mix and match components to create complex behaviors
  * **Modularity**: Systems are independent and composable
  * **Scalability**: Easily handle thousands of entities
</Accordion>

## 💻 Development Workflow

<Steps>
  <Step title="Design Your Schema">
    <Tabs>
      <Tab title="Schema Definition">
        ```javascript theme={null}
        // dubhe.config.js
        export default {
          schemas: {
            components: [
              {
                name: "PlayerComponent",
                fields: {
                  health: "u64",
                  level: "u8",
                  experience: "u64",
                  name: "string"
                }
              },
              {
                name: "InventoryComponent", 
                fields: {
                  items: "vector<ItemId>",
                  capacity: "u32"
                }
              }
            ]
          }
        }
        ```
      </Tab>

      <Tab title="Generated Move Code">
        ```move theme={null}
        module game::player_component {
          struct PlayerComponent has store, drop {
            health: u64,
            level: u8,
            experience: u64,
            name: String
          }
          
          public fun new(...): PlayerComponent { ... }
          public fun get_health(...): u64 { ... }
          public fun set_health(...) { ... }
        }
        ```
      </Tab>

      <Tab title="TypeScript SDK">
        ```typescript theme={null}
        interface PlayerComponent {
          health: bigint;
          level: number;
          experience: bigint;
          name: string;
        }

        const player = await client.getComponent<PlayerComponent>(
          'PlayerComponent',
          entityId
        );
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="Generate Move Contracts">
    Use the CLI to generate type-safe Move code:

    ```bash theme={null}
    dubhe generate
    ```
  </Step>

  <Step title="Implement Systems">
    Write game logic in Move:

    ```move theme={null}
    public entry fun level_up(player: &mut PlayerComponent) {
        assert!(player.experience >= required_exp(player.level), EInsufficientExp);
        player.level = player.level + 1;
        player.experience = 0;
    }
    ```
  </Step>

  <Step title="Build Frontend">
    Connect your UI with the TypeScript client:

    ```typescript theme={null}
    const playerData = await client.getComponent({
      entity: playerId,
      component: 'PlayerComponent'
    });

    await client.tx.player_system.level_up({ player: playerId });
    ```
  </Step>
</Steps>

## Key Features

<AccordionGroup>
  <Accordion icon="database" title="Type-Safe Data Modeling">
    Define your application's data structure with schemas that automatically generate Move contracts and TypeScript types.
  </Accordion>

  <Accordion icon="lightning" title="Real-Time Synchronization">
    Built-in subscriptions keep your frontend synchronized with on-chain state changes in real-time.
  </Accordion>

  <Accordion icon="cube" title="ECS Architecture">
    Entity Component System design enables scalable, maintainable game logic that can handle complex interactions.
  </Accordion>

  <Accordion icon="shield" title="Fully On-Chain">
    All game state and logic runs on-chain, ensuring transparency, composability, and true ownership.
  </Accordion>
</AccordionGroup>

## Getting Started

Choose your path based on your experience:

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/dubhe/sui/quick-start">
    New to Dubhe? Start here with a simple example project.
  </Card>

  <Card title="Contract Tutorial" icon="code" href="/tutorials/contract-development">
    Learn to build Move contracts step-by-step.
  </Card>

  <Card title="Client SDK" icon="plug" href="/dubhe/sui/client">
    Integrate Dubhe with your frontend application.
  </Card>

  <Card title="DubheOS Platform" icon="desktop" href="/dubhe/dubheos/overview">
    Explore the blockchain operating system.
  </Card>
</CardGroup>

## Community and Support

<CardGroup cols={3}>
  <Card title="Discord" icon="discord" href="https://discord.gg/nveFk3p6za">
    Join our developer community
  </Card>

  <Card title="GitHub" icon="github" href="https://github.com/0xobelisk/dubhe">
    Contribute to the project
  </Card>

  <Card title="Examples" icon="code" href="/tutorials/monster-hunter">
    See example applications
  </Card>
</CardGroup>

<Note>
  **Ready to build?** Follow our [Quick Start guide](/dubhe/sui/quick-start) to create your first Dubhe application in minutes.
</Note>
