MCPcopy Index your code
hub / github.com/dojoengine/dojo

github.com/dojoengine/dojo @v1.8.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.8.0 ↗ · + Follow
1,654 symbols 4,217 edges 199 files 392 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Dojo Feature Matrix

Dojo: Provable Games and Applications discord Telegram Chat Github Actions

Dojo is a developer friendly framework for building provable Games, Autonomous Worlds and other Applications that are natively composable, extensible, permissionless and persistent. It is an extension of Cairo, an efficiently provable language, that supports generation of zero-knowledge proofs attesting to a computations validity and enables exponential scaling of onchain computation while maintaining the security properties of Ethereum.

It is designed to significantly reduce the complexity of developing provable applications that can be deployed to and verified by blockchains. It does so by providing a ~zero-cost abstraction for developers to succinctly define provable applications and a robust toolchain for building, migrating, deploying, proving and settling these worlds in production.

Getting Started

See the getting started section in the Dojo book to start building provable applications with Dojo.

You can find more detailed documentation in the Dojo Book here.

Development

We welcome contributions of all kinds from anyone. See our Development and Contributing guides for more information on setting up your developer environment and how to get involved.

If you encounter issues or have questions, you can submit an issue on GitHub. You can also join our Discord for discussion and help.

Built with Dojo

Audit

Dojo core smart contracts have been audited:

Extension points exported contracts — how you extend this code

ComparableResource (Interface)
A trait to compare a local resource with a remote one. [7 implementers]
crates/dojo/world/src/diff/compare.rs
Message (Interface)
trait to handle message output. Allow us to accept both &str and String. [2 implementers]
crates/sozo/ui/src/lib.rs
Report (Interface)
A helper trait for reporting metrics. This is meant for types that require a specific trigger to register their metrics [1 …
crates/metrics/src/lib.rs
ContractStats (Interface)
(no doc) [2 implementers]
bin/sozo/src/commands/build.rs
CalldataDecoder (Interface)
A trait for decoding calldata into a vector of Felts. [9 implementers]
crates/dojo/world/src/config/calldata_decoder.rs
MetadataDojoExt (Interface)
Extension trait for the [`Metadata`] type. [1 implementers]
crates/sozo/scarb_metadata_ext/src/metadata.rs
Hook (Interface)
A helper trait for defining the type for hooks that are called when the metrics are being collected by the server. [1 …
crates/metrics/src/server.rs
PermissionsUpdateable (Interface)
(no doc) [7 implementers]
crates/dojo/world/src/remote/permissions.rs

Core symbols most depended-on inside this repo

iter
called by 215
crates/dojo/types/src/schema.rs
push
called by 195
crates/dojo/bindgen/src/plugins/mod.rs
is_empty
called by 122
crates/dojo/world/src/diff/resource.rs
as_str
called by 106
crates/sozo/scarb_interop/src/profile.rs
join
called by 84
crates/dojo/bindgen/src/plugins/mod.rs
get
called by 68
crates/dojo/types/src/schema.rs
tag
called by 63
crates/dojo/world/src/diff/resource.rs
indent
called by 52
crates/sozo/ui/src/lib.rs

Shape

Method 669
Function 656
Class 236
Enum 61
Interface 32

Languages

Rust98%
TypeScript2%
Python1%

Modules by API surface

crates/dojo/world/src/contracts/abigen/world.rs96 symbols
crates/sozo/ops/src/model.rs41 symbols
crates/dojo/types/src/schema.rs37 symbols
crates/dojo/bindgen/src/plugins/typescript/generator/function.rs36 symbols
crates/sozo/ui/src/lib.rs34 symbols
crates/dojo/world/src/config/calldata_decoder.rs34 symbols
crates/dojo/bindgen/src/plugins/typescript/generator/mod.rs34 symbols
bin/sozo/src/commands/inspect.rs34 symbols
bin/sozo/src/commands/options/account/provider.rs33 symbols
bin/cairo-bench/src/main.rs32 symbols
crates/dojo/world/src/contracts/abigen/model.rs31 symbols
crates/dojo/world/src/remote/resource.rs29 symbols

For agents

$ claude mcp add dojo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact