スキル一覧に戻る
dojoengine

dojo-deploy

by dojoengine

The Dojo Book

51🍴 94📅 2026年1月22日
GitHubで見るManusで実行

SKILL.md


name: dojo-deploy description: Deploy Dojo worlds to local Katana, testnet, or mainnet. Configure Katana sequencer and manage deployments with sozo. Use when deploying your game or starting local development environment. allowed-tools: Read, Bash, Grep

Dojo Deployment

Deploy your Dojo world to local Katana sequencer, Sepolia testnet, or Starknet mainnet.

When to Use This Skill

  • "Deploy my world to Katana"
  • "Start Katana sequencer"
  • "Deploy to Sepolia testnet"
  • "Deploy to mainnet"

What This Skill Does

Handles deployment workflows:

  • Start and configure Katana sequencer
  • Deploy worlds with sozo migrate
  • Verify deployments
  • Manage world addresses
  • Configure network settings

Quick Start

Local development:

"Start Katana and deploy my world"

Testnet deployment:

"Deploy my world to Sepolia"

Mainnet deployment:

"Deploy to Starknet mainnet"

Deployment Workflow

1. Local Development (Katana)

Start Katana:

katana --dev --dev.no-fee

This launches Katana with:

  • RPC server at http://localhost:5050
  • 10 pre-funded accounts
  • Instant block mining
  • Gas fees disabled

Build and deploy:

sozo build && sozo migrate

Verify:

# Preview deployment
sozo inspect

# Execute a system
sozo execute dojo_starter-actions spawn

2. Testnet Deployment (Sepolia)

Configure profile:

# dojo_sepolia.toml
[world]
name = "My Game"
seed = "my-game-sepolia"

[env]
rpc_url = "https://api.cartridge.gg/x/starknet/sepolia"
account_address = "YOUR_ACCOUNT"
private_key = "YOUR_KEY"

[namespace]
default = "my_game"

[writers]
"my_game" = ["my_game-actions"]

Deploy:

sozo build --profile sepolia
sozo migrate --profile sepolia

3. Mainnet Deployment

Configure profile:

# dojo_mainnet.toml
[world]
name = "My Game"
seed = "my-game-mainnet"

[env]
rpc_url = "https://api.cartridge.gg/x/starknet/mainnet"
account_address = "YOUR_ACCOUNT"
keystore_path = "~/.starknet_accounts/mainnet.json"

[namespace]
default = "my_game"

[writers]
"my_game" = ["my_game-actions"]

Deploy:

sozo build --profile mainnet
sozo migrate --profile mainnet

Katana Configuration

Quick Start (Development)

katana --dev --dev.no-fee

Mining Modes

Instant (default):

katana --dev --dev.no-fee

Mines block immediately on transaction.

Interval:

katana --block-time 10000

Mines block every 10 seconds.

Persistent Storage

katana --db-dir ./katana-db

Network Forking

Fork Starknet mainnet:

katana --fork.provider https://api.cartridge.gg/x/starknet/mainnet

Fork at specific block:

katana --fork.provider https://api.cartridge.gg/x/starknet/mainnet --fork.block 1000000

Sozo Commands

Build

sozo build

Inspect (Preview Deployment)

# See what will be deployed/changed
sozo inspect

Migrate (Deploy)

# Deploy with default dev profile
sozo migrate

# Deploy with specific profile
sozo migrate --profile sepolia

Execute System

# Call a system function
sozo execute <CONTRACT_TAG> <FUNCTION> [ARGS...]

# Example: spawn
sozo execute dojo_starter-actions spawn

# Example: move with argument
sozo execute dojo_starter-actions move 1

Deployment Checklist

Pre-Deployment

  • All tests passing (sozo test)
  • Code reviewed (dojo-review skill)
  • Configuration set (dojo-config skill)
  • Target network funded (for gas)
  • Private key secured (not committed)

Deployment

  • Build succeeds (sozo build)
  • Inspect looks correct (sozo inspect)
  • Migration succeeds (sozo migrate)
  • Manifest generated (check manifest_<profile>.json)
  • World address recorded

Post-Deployment

  • Deployment verified (execute systems, query models)
  • Torii indexer configured (dojo-indexer skill)
  • Client connected (dojo-client skill)
  • World permissions verified (dojo-world skill)

Development Workflow

Terminal 1: Start Katana

katana --dev --dev.no-fee

Terminal 2: Build and deploy

sozo build && sozo migrate

Terminal 3: Start Torii

torii --world <WORLD_ADDRESS>

Sample Deploy Script

This skill includes deploy_local.sh, a template script for automated local development. Copy it into your project's scripts/ directory and customize it for your needs.

Setup:

  1. Copy the script to your project: cp deploy_local.sh your-project/scripts/
  2. Adjust configuration variables (profile name, URLs) as needed
  3. Make executable: chmod +x scripts/deploy_local.sh

Run:

# Default dev profile
./scripts/deploy_local.sh

# Specific profile
PROFILE=staging ./scripts/deploy_local.sh

What it does:

  1. Checks for required tools (katana, sozo, torii, jq)
  2. Starts Katana with health checking
  3. Builds and deploys contracts
  4. Extracts addresses from the manifest
  5. Starts Torii indexer
  6. Cleans up all services on exit (Ctrl+C)

Customization points:

  • PROFILE: Default build/deploy profile
  • RPC_URL: Katana endpoint (default: http://localhost:5050)
  • TORII_URL: Torii endpoint (default: http://localhost:8080)
  • Add project-specific post-deploy steps (e.g., seeding data, running migrations)

Manifest File

After deployment, manifest_<profile>.json contains:

  • World address
  • Model addresses and class hashes
  • System/contract addresses
  • ABI information

Example:

{
  "world": {
    "address": "0x...",
    "class_hash": "0x..."
  },
  "models": [
    {
      "tag": "dojo_starter-Position",
      "address": "0x..."
    }
  ],
  "contracts": [
    {
      "tag": "dojo_starter-actions",
      "address": "0x..."
    }
  ]
}

Troubleshooting

"Account not found"

  • Ensure account is deployed on target network
  • Check account address in profile config
  • Verify account has funds for gas

"Class hash mismatch"

  • Run sozo build before migrating
  • Check Scarb.toml for correct Dojo version
  • Clear target/ and rebuild

"Insufficient funds"

"Profile not found"

  • Ensure dojo_<profile>.toml exists
  • Check spelling matches the --profile flag

Network Information

Katana (Local)

  • RPC: http://localhost:5050
  • Pre-funded accounts printed on startup

Sepolia (Testnet)

Mainnet

Next Steps

After deployment:

  1. Use dojo-indexer skill to set up Torii
  2. Use dojo-client skill to connect frontend
  3. Use dojo-world skill to configure permissions
  4. Use dojo-migrate skill for updates
  • dojo-config: Configure deployment profiles
  • dojo-migrate: Update deployments
  • dojo-indexer: Index deployed world
  • dojo-client: Connect clients to deployment
  • dojo-world: Manage world permissions

スコア

総合スコア

70/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

レビュー

💬

レビュー機能は近日公開予定です