Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 21 additions & 21 deletions etc/architecture/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,39 +15,39 @@ Dojo.js is organized as a set of focused packages that cooperate to index, query

```mermaid
flowchart LR
subgraph OnChain
subgraph "On Chain"
World[Dojo World Contracts]
end

subgraph Indexer & Messaging
ToriiIndexer[Torii Service\nHTTP/WebSocket/gRPC]
subgraph "Indexer & Messaging"
ToriiIndexer["Torii Service<br/>HTTP / WebSocket / gRPC"]
end

subgraph CoreClient
CoreProvider[@dojoengine/core\nRpcProvider & World ABI]
ToriiWasm[@dojoengine/torii-wasm\n+ torii-client shim]
GrpcClient[@dojoengine/grpc\nToriiGrpcClient]
Internal[@dojoengine/internal\nSchema & Query Toolkit]
SDK[@dojoengine/sdk\ninit/createSDK]
subgraph "Core Client"
CoreProvider["@dojoengine/core<br/>RPC Provider & World ABI"]
ToriiWasm["@dojoengine/torii-wasm<br/>+ torii-client shim"]
GrpcClient["@dojoengine/grpc<br/>ToriiGrpcClient"]
Internal["@dojoengine/internal<br/>Schema & Query Toolkit"]
SDK["@dojoengine/sdk<br/>init/createSDK"]
end

subgraph App Integrations
StatePkg[@dojoengine/state\nZustand & RECS stores]
ReactPkg[@dojoengine/react\nHooks & RX bindings]
Burner[@dojoengine/create-burner\nLocal wallets]
Predeployed[@dojoengine/predeployed-connector\nInjected connector]
UtilsPkg[@dojoengine/utils]
subgraph "App Integrations"
StatePkg["@dojoengine/state<br/>Zustand & RECS stores"]
ReactPkg["@dojoengine/react<br/>Hooks & RX bindings"]
Burner["@dojoengine/create-burner<br/>Local wallets"]
Predeployed["@dojoengine/predeployed-connector<br/>Injected connector"]
UtilsPkg["@dojoengine/utils"]
end

subgraph Tooling
Scaffolder[@dojoengine/create-dojo\nCLI scaffolds]
subgraph "Tooling"
Scaffolder["@dojoengine/create-dojo<br/>CLI scaffolds"]
Examples[Examples & Templates]
end

World -- events & state --> ToriiIndexer
CoreProvider -- invoke/call --> World
ToriiIndexer -- queries/subscriptions --> ToriiWasm
ToriiIndexer -- gRPC streams --> GrpcClient
World -- "events & state" --> ToriiIndexer
CoreProvider -- "invoke / call" --> World
ToriiIndexer -- "queries / subscriptions" --> ToriiWasm
ToriiIndexer -- "gRPC streams" --> GrpcClient
ToriiWasm --> SDK
GrpcClient --> SDK
Internal --> SDK
Expand Down
3 changes: 2 additions & 1 deletion etc/architecture/whats-next.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ This roadmap captures the near-to-mid term architecture initiatives planned for
3. Provide dependency injection hooks in SDK/provider constructors and document how to supply alternative transports.
- **Deliverables**: Adapter interfaces, default Starknet.js implementation, updated dependency guidelines.

## 4. TanStack/DB Integration
## 4. TanStack DB Integration

- **Objective**: Leverage TanStack DB for richer client-side entity persistence, caching, and querying.
- **Key Steps**:
Expand Down Expand Up @@ -58,5 +58,6 @@ This roadmap captures the near-to-mid term architecture initiatives planned for

## Cross-Cutting Considerations

- Maintain incremental delivery via stacked `jj` changes to keep reviews focused.
- Prioritise documentation and migration notes alongside each feature.
- Invest in automated tests and benchmarks as new abstractions are introduced to safeguard performance and developer experience.
4 changes: 2 additions & 2 deletions etc/knowledge-base.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

## Architecture Snapshot (Main Branch)

- Reference diagram: [docs/architecture/overview.md](architecture/overview.md)
- Reference diagram: [etc/architecture/overview.md](architecture/overview.md)
- Highlights:
- `@dojoengine/sdk` connects Torii indexer clients, message signing, and schema parsing for app consumption.
- `@dojoengine/core` offers the `DojoProvider` Starknet RPC interface for direct world contract access.
- `@dojoengine/grpc` provides streaming access to Torii via the `ToriiGrpcClient` and related mappers.
- UI/state layers (`@dojoengine/state`, `@dojoengine/react`) build on the SDK for entity subscriptions and optimistic updates.
- Tooling packages (`create-burner`, `predeployed-connector`, `create-dojo`) streamline wallet setup and application scaffolding.

_Last updated: 2025-09-25T13:27:58Z
_Last updated: 2025-09-25T19:22:04Z
Loading