SuperAPI AI 工具集

dojo-client

编程与开发

查看项目

更新于 10-15 21:11

技能介绍

用途:将游戏客户端或前端连接到已部署的 Dojo 世界,处理多平台客户端集成,包括 JavaScript/TypeScript SDK(主要方式)、Unity、Unreal、Godot、Bevy 等游戏引擎,以及类型化绑定生成和查询/订阅模式。

支持平台与包:JavaScript/TypeScript 使用 @dojoengine/sdk;Unity 使用 dojo.unity(C#);Unreal Engine 使用 dojo.unreal(C++);Godot 使用 dojo.godot(GDScript);Bevy 使用 dojo.bevy(Rust);C/C++ 使用 dojo.c。

JavaScript/TypeScript 用法:可用快速向导 pnpx @dojoengine/create-dojo start,或手动安装依赖,例如 pnpm add @dojoengine/core @dojoengine/sdk @dojoengine/torii-client,以及 @cartridge/connector、@cartridge/controller、@starknet-react/core、@starknet-react/chains、starknet、@dojoengine/state、zustand、immer 和构建工具 vite-plugin-wasm、vite-plugin-top-level-await。通过 createDojoConfig 创建 dojoConfig.ts 并导入 manifest。注意 manifest 必须包含有效 world ABI 且至少有一个 type: "interface" 条目,否则 starknet.js 会报 "Unable to determine Cairo version",该内容由 sozo build 自动填充。生成 TypeScript 绑定使用 DOJO_MANIFEST_PATH="../path/to/Scarb.toml" sozo build --typescript。随后用 init 初始化 SDK,并在 React 中使用 DojoSdkProvider。

主要能力:通过 ToriiQueryBuilder、KeysClause、MemberClause 查询实体,支持复杂查询、分页、排序;通过 subscribeEntityQuery 订阅变更;提供 useEntityQuery、useModels、useModel、useEntityId 等 React Hooks;通过 useDojoSDK 与 useAccount 执行系统调用。账户管理推荐 Cartridge Controller,配合 starknet-react 提供基于会话的认证,需定义 SessionPolicies 并创建 ControllerConnector,再用 StarknetConfig 包裹应用。

适用场景:为 Dojo 游戏搭建 JavaScript SDK、集成 Unity、生成 TypeScript 绑定、把 React 应用连接到世界。

限制与前置条件:需先部署世界、运行 Torii 索引器、记录世界地址并确保 RPC 可访问;集成后需测试查询、系统执行、订阅与错误处理。常见问题包括无法连接 RPC、找不到世界、找不到模型,需检查地址、网络、模型命名空间与实体键。Unity、Unreal、Godot 的具体安装与绑定细节需参考各自文档,资料未展开。