dojo-init
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDojo Project Initialization
Dojo项目初始化
Initialize new Dojo projects with the complete directory structure, configuration files, and dependencies.
为新的Dojo项目创建完整的目录结构、配置文件及依赖项。
When to Use This Skill
何时使用该技能
- "Create a new Dojo project"
- "Initialize a Dojo game called [name]"
- "Set up a new Dojo application"
- "Start a new provable game project"
- "创建新的Dojo项目"
- "初始化名为[name]的Dojo游戏"
- "搭建新的Dojo应用"
- "启动新的可证明游戏项目"
What This Skill Does
该技能的功能
Creates a complete Dojo project with:
- with Dojo dependencies
Scarb.toml - for local development
dojo_dev.toml - Source directory structure
- Example models and systems
- Test files
创建包含以下内容的完整Dojo项目:
- 带有Dojo依赖项的
Scarb.toml - 用于本地开发的
dojo_dev.toml - 源码目录结构
- 示例模型与系统
- 测试文件
Quick Start
快速开始
Using sozo init:
bash
sozo init my-gameThis creates a new Dojo project from the dojo-starter template.
Interactive mode:
"Create a new Dojo project called my-game"Project Structure
项目结构
After initialization:
my-game/
├── Scarb.toml # Package manifest and dependencies
├── dojo_dev.toml # Local development profile
├── dojo_release.toml # Production deployment profile
└── src/
├── lib.cairo # Module exports
├── models.cairo # Game state models
├── systems/
│ └── actions.cairo # Game logic systems
└── tests/
└── test_world.cairo # Integration tests初始化完成后:
my-game/
├── Scarb.toml # 包清单及依赖项
├── dojo_dev.toml # 本地开发配置文件
├── dojo_release.toml # 生产部署配置文件
└── src/
├── lib.cairo # 模块导出文件
├── models.cairo # 游戏状态模型
├── systems/
│ └── actions.cairo # 游戏逻辑系统
└── tests/
└── test_world.cairo # 集成测试Configuration Files
配置文件
Scarb.toml
Scarb.toml
Package manifest with Dojo dependencies:
toml
[package]
cairo-version = "2.12.2"
name = "my_game"
version = "1.0.0"
edition = "2024_07"
[[target.starknet-contract]]
sierra = true
build-external-contracts = ["dojo::world::world_contract::world"]
[dependencies]
starknet = "2.12.2"
dojo = "1.7.1"
[dev-dependencies]
cairo_test = "2.12.2"
dojo_cairo_test = "1.7.1"
[tool.scarb]
allow-prebuilt-plugins = ["dojo_cairo_macros"]包含Dojo依赖项的包清单:
toml
[package]
cairo-version = "2.12.2"
name = "my_game"
version = "1.0.0"
edition = "2024_07"
[[target.starknet-contract]]
sierra = true
build-external-contracts = ["dojo::world::world_contract::world"]
[dependencies]
starknet = "2.12.2"
dojo = "1.7.1"
[dev-dependencies]
cairo_test = "2.12.2"
dojo_cairo_test = "1.7.1"
[tool.scarb]
allow-prebuilt-plugins = ["dojo_cairo_macros"]dojo_dev.toml
dojo_dev.toml
Local development configuration:
toml
[world]
name = "My Game"
seed = "my_game"
[env]
rpc_url = "http://localhost:5050/"
account_address = "0x127fd..."
private_key = "0xc5b2f..."
[namespace]
default = "my_game"
[writers]
"my_game" = ["my_game-actions"]本地开发配置:
toml
[world]
name = "My Game"
seed = "my_game"
[env]
rpc_url = "http://localhost:5050/"
account_address = "0x127fd..."
private_key = "0xc5b2f..."
[namespace]
default = "my_game"
[writers]
"my_game" = ["my_game-actions"]Starter Template Contents
启动模板内容
The starter template includes:
启动模板包含以下内容:
Models (src/models.cairo
)
src/models.cairo模型(src/models.cairo
)
src/models.cairo- model with player key and Vec2 coordinates
Position - model tracking remaining moves and direction
Moves - enum
Direction
- 模型:包含玩家密钥与Vec2坐标
Position - 模型:追踪剩余步数与方向
Moves - 枚举
Direction
Systems (src/systems/actions.cairo
)
src/systems/actions.cairo系统(src/systems/actions.cairo
)
src/systems/actions.cairo- function to initialize player state
spawn - function to update player position
move - Example event emission
- 函数:初始化玩家状态
spawn - 函数:更新玩家位置
move - 事件发射示例
Tests (src/tests/test_world.cairo
)
src/tests/test_world.cairo测试(src/tests/test_world.cairo
)
src/tests/test_world.cairo- Test world setup with
spawn_test_world - Integration tests for spawn and move
- 使用搭建测试环境
spawn_test_world - 针对spawn与move的集成测试
Development Workflow
开发工作流
-
Initialize project:bash
sozo init my-game cd my-game -
Start Katana:bash
katana --dev --dev.no-fee -
Build and deploy:bash
sozo build && sozo migrate -
Test your system:bash
sozo execute my_game-actions spawn -
Run tests:bash
sozo test
-
初始化项目:bash
sozo init my-game cd my-game -
启动Katana:bash
katana --dev --dev.no-fee -
构建与部署:bash
sozo build && sozo migrate -
测试你的系统:bash
sozo execute my_game-actions spawn -
运行测试:bash
sozo test
Customization
自定义配置
After initialization, customize your project:
- Add models: Create new model structs in or separate files
src/models.cairo - Add systems: Create new contract modules in
src/systems/ - Update permissions: Edit in
[writers]dojo_dev.toml - Add dependencies: Edit in
[dependencies]Scarb.toml
初始化完成后,可对项目进行以下自定义:
- 添加模型: 在或单独文件中创建新的模型结构体
src/models.cairo - 添加系统: 在目录下创建新的合约模块
src/systems/ - 更新权限: 编辑中的
dojo_dev.toml部分[writers] - 添加依赖项: 编辑中的
Scarb.toml部分[dependencies]
Next Steps
后续步骤
After initialization:
- Use skill to add game state models
dojo-model - Use skill to implement game logic
dojo-system - Use skill to write tests
dojo-test - Use skill to deploy your world
dojo-deploy
初始化完成后:
- 使用技能添加游戏状态模型
dojo-model - 使用技能实现游戏逻辑
dojo-system - 使用技能编写测试
dojo-test - 使用技能部署你的游戏世界
dojo-deploy
Related Skills
相关技能
- dojo-model: Add models to your project
- dojo-system: Add systems to your project
- dojo-config: Modify configuration
- dojo-deploy: Deploy your project
- dojo-model:为项目添加模型
- dojo-system:为项目添加系统
- dojo-config:修改配置
- dojo-deploy:部署你的项目