World Explorer
World Explorer is a GUI tool designed for visually exploring and manipulating the state of worlds. It is available in the MUD TypeScript templates starting with version 2.2.
Installation (for earlier MUD versions)
These are the steps to install World Explorer into a MUD template:
-
Install the Indexer and World Explorer.
pnpm install @latticexyz/explorer @latticexyz/store-indexer -w
-
Edit
mprocs.yaml
.mproces.yamlprocs: client: cwd: packages/client shell: pnpm run dev contracts: cwd: packages/contracts shell: pnpm mud dev-contracts --rpc http://127.0.0.1:8545 anvil: cwd: packages/contracts shell: anvil --base-fee 0 --block-time 2 indexer: cwd: packages/contracts shell: rimraf $SQLITE_FILENAME && pnpm sqlite-indexer env: RPC_HTTP_URL: "http://127.0.0.1:8545" FOLLOW_BLOCK_TAG: "latest" SQLITE_FILENAME: "indexer.db" explorer: cwd: packages/contracts shell: pnpm explorer
Usage
CLI options
To use the explorer with different command-line options, use this process:
-
In the mprocs screen, go down to the explorer process.
-
Type
x
to stop the default explorer. -
In a different command-line window, go to
packages/contract
. -
Run the explorer using
pnpm explorer <options>
.
The World Explorer accepts the following CLI options:
Option | Description | Default value |
---|---|---|
--worldAddress | The address of the world to explore | None |
--worldsFile | Path to a worlds configuration file (used to resolve world address) | None |
--indexerDatabase | Path to your SQLite indexer database | indexer.db |
--chainId | The chain ID of the network | 31337 |
--port | The port on which to run the World Explorer | 13690 |
--env | The environment to run the World Explorer in (e.g., "development", "production") | production |
Example setup
An example setup is provided in the examples/local-explorer
directory, demonstrating a full setup for using the World Explorer in a local development environment:
Contributing
To contribute to or modify the World Explorer, the easiest way is to run the example setup in development
mode:
1. Setup
Navigate to the examples/local-explorer
directory and locate the mprocs.yaml
file.
2. Configure
In mprocs.yaml
, ensure the explorer
command is set up correctly. For example:
explorer:
shell: pnpm explorer --worldsConfigPath packages/contracts/worlds.json --env development
3. Run
pnpm dev
Files can now be edited in the packages/explorer
directory, and changes will be reflected in the running World Explorer instance.